Add support for Memory-Map Navigator Overlay files (.mmo).
authoroliskoli <oliskoli>
Sat, 18 Oct 2008 21:34:21 +0000 (21:34 +0000)
committeroliskoli <oliskoli>
Sat, 18 Oct 2008 21:34:21 +0000 (21:34 +0000)
Makefile.in
mmo.c [new file with mode: 0644]
reference/memory-map.mmo [new file with mode: 0755]
reference/memory-map~mmo.gpx [new file with mode: 0644]
vecs.c

index 701672320f0f212fe6ec316ebc9fcc0e11197857..071c13f330c9c7b8e5fb78b849eeb3d851aa5c80 100644 (file)
@@ -61,7 +61,7 @@ ALL_FMTS=$(MINIMAL_FMTS) gtm.o gpsutil.o pcx.o cetus.o copilot.o \
        ggv_log.o g7towin.o garmin_gpi.o lmx.o random.o xol.o dg-100.o \
        navilink.o mtk_logger.o ik3d.o osm.o destinator.o exif.o vidaone.o \
        igo8.o gopal.o humminbird.o mapasia.o gnav_trl.o navitel.o ggv_ovl.o \
-       jtr.o sbp.o
+       jtr.o sbp.o mmo.o
 
 FMTS=@FMTS@
 
@@ -638,6 +638,8 @@ mapsource.o: mapsource.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
   jeeps/gpsinput.h jeeps/gpsproj.h
 mkshort.o: mkshort.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
   zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h
+mmo.o: mmo.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
+  zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h avltree.h
 msroute.o: msroute.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
   zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \
   jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \
diff --git a/mmo.c b/mmo.c
new file mode 100644 (file)
index 0000000..5bbcfad
--- /dev/null
+++ b/mmo.c
@@ -0,0 +1,1238 @@
+/*
+
+    Support for Memory-Map Navigator Overlay Files (.mmo)
+
+    Copyright (C) 2008 Olaf Klein, o.b.klein@gpsbabel.org
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA
+
+ */
+/*
+    History:
+       
+       2008/10/18: Initial release
+*/
+
+#include <ctype.h>
+#include <errno.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+
+#include "defs.h"
+#include "avltree.h"
+
+#define MYNAME "mmo"
+
+// #define MMO_DBG
+
+static
+arglist_t mmo_args[] = {
+       ARG_TERMINATOR
+};
+
+typedef struct mmo_data_s {
+       int objid;              /* internal object id */
+       char *name;
+       const char *category;   /* currently not handled */
+       gpsdata_type type;      /* type of "data" */
+       time_t ctime;
+       time_t mtime;
+       int left;               /* number of un-readed route points */
+       int done;               /* number of completely loaded route points */
+       void *data;             /* can be a waypoint, a route or a track */
+       unsigned char visible:1;
+       unsigned char locked:1;
+       unsigned char loop:1;   /* loop flag */
+} mmo_data_t;
+
+static gbfile *fin, *fout;
+static int mmo_version;
+static int mmo_obj_ct;
+static int mmo_object_id;
+static gbuint32 mmo_filemark;
+static gbuint16 wpt_object_id;
+static gbuint16 rte_object_id;
+static gbuint16 trk_object_id;
+static gbuint16 cat_object_id;
+static gbuint16 ico_object_id;
+static gbuint16 pos_object_id;
+static gbuint16 txt_object_id;
+static gpsdata_type mmo_datatype;
+static route_head *mmo_rte;
+
+static avltree_t *category_names, *objects, *mmobjects, *category_ids;
+static avltree_t *icons;
+
+typedef struct mmo_icon_mapping_s {
+       const int       value;
+       const char      *icon;
+} mmo_icon_mapping_t;
+
+/* standard icons; no bitmaps in file */
+
+static const mmo_icon_mapping_t mmo_icon_value_table[] = {
+       { 0x00, "Dot" },
+       { 0x01, "House" },
+       { 0x02, "Fuel" },
+       { 0x03, "Car" },
+       { 0x04, "Fish" },
+       { 0x05, "Boat" },
+       { 0x06, "Anchor" },
+       { 0x07, "Wreck" },
+       { 0x08, "Exit" },
+       { 0x09, "Skull" },
+       { 0x0A, "Flag" },
+       { 0x0B, "Camp" },
+       { 0x0C, "Man Overboard" },
+       { 0x0D, "Deer" },
+       { 0x0E, "First Aid" },
+       { 0x0F, "Trackback" },
+       { 0x10, "Tiny dot" },
+       { 0x11, "Triangle" },
+       { 0x12, "Square" },
+       { 0x13, "Circle" },
+       { 0x14, "Green bouy" },
+       { 0x15, "Red bouy" },
+       { 0x16, "Yellow bouy" },
+       { 0x17, "Geocache" },
+
+       { -1, NULL }
+};
+
+/* helpers */
+
+#ifdef MMO_DBG
+static void
+dbgprintf(const char *sobj, const char *fmt, ...)
+{
+       va_list args;
+       va_start(args, fmt);
+
+       printf(MYNAME "-%s: ", sobj);
+       vprintf(fmt, args);
+       va_end(args);
+}
+
+# define DBG(args) dbgprintf args
+#else
+# define DBG(args) ;
+#endif
+
+static char *
+mmo_readstr(void)
+{
+       char *res;
+       int len;
+       
+       len = (unsigned)gbfgetc(fin);
+       if (len == 0xFF) {
+               len = gbfgetint16(fin);
+               if (len < 0) fatal(MYNAME ": Invalid string length (%d)!\n", len);
+       }
+       res = xmalloc(len + 1);
+       res[len] = '\0';
+       if (len) {
+               gbfread(res, len, 1, fin);
+               if (len != strlen(res)) fatal(MYNAME ": Error in file structure!\n");
+       }
+
+       return res;
+}
+
+
+static int
+mmo_fillbuf2(void *buf, const gbsize_t bufsz, const int count, const int need_all)
+{
+       int res;
+       
+       if (count > bufsz) fatal(MYNAME ": Internal error (bufsz too small)!\n");
+       
+       memset(buf, 0xFF, count);
+       res = gbfread(buf, 1, count, fin);
+       if (need_all && (res < count)) fatal(MYNAME ": Unexpected end of file!\n");
+       
+       return res;
+}
+#define mmo_fillbuf(a,b,c) mmo_fillbuf2((a),sizeof((a)),(b),(c))
+
+static void
+mmo_printbuf(const char *buf, int count, const char *comment)
+{
+#ifdef MMO_DBG
+       int i;
+       printf("%s", comment);
+       for (i = 0; i < count; i++) printf("%02X ", buf[i] & 0xFF);
+       printf("- ");
+       for (i = 0; i < count; i++) 
+               if (isprint(buf[i])) printf("%c", buf[i] & 0xFF);
+               else printf(".");
+       printf("\n");
+       fflush(stdout);
+#endif
+}
+
+/******************************************************************************/
+
+static mmo_data_t *
+mmo_register_object(const int objid, const void *ptr, const gpsdata_type type)
+{
+       char key[16];
+       mmo_data_t *data;
+       
+       data = xcalloc(1, sizeof(*data));
+       data->data = (void *)ptr;
+       data->visible = 1;
+       data->locked = 0;
+       data->type = type;
+       data->objid = objid;
+       
+       snprintf(key, sizeof(key), "%d", objid);
+       avltree_insert(objects, key, data);
+       
+       return data;
+}
+
+
+static int
+mmo_get_objid(const void *ptr)
+{
+       const char *key;
+       mmo_data_t *data;
+       
+       if ((key = avltree_first(objects, (void *)&data))) do {
+               if (data->data == ptr) {
+                       return atoi(key);
+               }
+       } while ((key = avltree_next(objects, key, (void *)&data)));
+
+       return 0;
+}
+
+
+static mmo_data_t *
+mmo_get_object(const gbuint16 objid)
+{
+       char key[16];
+       mmo_data_t *data;
+       
+       snprintf(key, sizeof(key), "%d", objid | 0x8000);
+       if (! avltree_find(objects, key, (void *)&data))
+               fatal(MYNAME ": Unregistered object id 0x%04X!\n", objid | 0x8000);
+       
+       return data;
+}
+
+
+static void
+mmo_release_avltree(avltree_t *tree, const int is_object)
+{
+       const char *key;
+       char *name;
+       
+       if ((key = avltree_first(tree, (void *)&name))) {
+               do {
+                       if (name == NULL) continue;
+                       if (is_object) {
+                               mmo_data_t *data = (mmo_data_t *)name;
+                               if (data->name) xfree(data->name);
+                       }
+                       xfree(name);
+               } while ((key = avltree_next(tree, key, (void *)&name)));
+       }
+       avltree_done(tree);
+}
+
+
+static void
+mmo_register_icon(const int id, const char *name)
+{
+       char key[16];
+       
+       snprintf(key, sizeof(key), "%d", id);
+       avltree_insert(icons, key, xstrdup(name));
+}
+
+
+static mmo_data_t *mmo_read_object(const waypoint *add);
+
+
+static void
+mmo_end_of_route(mmo_data_t *data)
+{
+#ifdef MMO_DBG
+       const char *sobj = "CObjRoute";
+#endif
+       route_head *rte = data->data;
+       int rtept = rte->rte_waypt_ct;
+       int i;
+       char buf[64];
+               
+       if (data->visible && data->loop) {
+               DBG((sobj, "route \"%s\" is a loop.\n", data->name));
+               (void) mmo_read_object(NULL);
+               rtept--;
+       }
+
+       if (mmo_version >= 0x12) {
+               mmo_fillbuf(buf, 7, 1);
+               DBG((sobj, "route data (since 0x12): "));
+               mmo_printbuf(buf, 7, "");
+               
+               rte->line_color.bbggrr = le_read32(&buf[0]);
+               rte->line_color.opacity = 255 - (buf[6] * 51);
+               DBG((sobj, "color = 0x%06X\n", rte->line_color.bbggrr));
+               DBG((sobj, "transparency = %d (-> %d)\n", buf[6], rte->line_color.opacity));
+       }
+
+       if (data->visible) {
+               for (i = 0; i < rtept; i++) (void) mmo_read_object(NULL);
+       }
+       if (data->loop && (data->done > 1)) {
+               queue *elem;
+                                       
+               elem = QUEUE_FIRST(&rte->waypoint_list);
+               dequeue(elem);
+               ENQUEUE_TAIL(&rte->waypoint_list, elem);
+       }
+
+       if (rte->rte_waypt_ct == 0) {   /* don't keep empty routes */
+               route_del_head(rte);
+               data->data = NULL;
+       }
+}
+
+
+static void
+mmo_read_category(mmo_data_t *data)
+{
+       int marker = gbfgetuint16(fin);
+
+       if (marker & 0x8000) {
+               mmo_data_t *tmp;
+               
+               gbfseek(fin, -2, SEEK_CUR);
+               tmp = mmo_read_object(NULL);
+               if (data) data->category = tmp->name;
+       }
+}
+
+
+static void
+mmo_read_CObjIcons(mmo_data_t *data)
+{
+#ifdef MMO_DBG
+       const char *sobj = "CObjIcons";
+#endif
+       int i;
+
+       DBG((sobj, ":-----------------------------------------------------\n"));
+       DBG((sobj, "name = \"%s\" [ visible=%s, id=0x%04X ]\n", 
+               data->name, data->visible ? "yes" : "NO", data->objid));
+
+       gbfseek(fin, 6, SEEK_CUR);      /* skip 6 unknown bytes */
+
+       while ((i = gbfgetuint32(fin))) {
+               char *name;
+               (void) gbfgetuint32(fin);
+               (void) gbfgetuint32(fin);
+               name = mmo_readstr();
+//             DBG((sobj, "bitmap(%d) = \"%s\"\n", i, name));
+               mmo_register_icon(i, name);
+               xfree(name);
+               gbfseek(fin, gbfgetuint32(fin), SEEK_CUR);
+       }
+}
+
+
+static void
+mmo_read_CObjWaypoint(mmo_data_t *data)
+{
+#ifdef MMO_DBG
+       const char *sobj = "CObjWaypoint";
+#endif
+       waypoint *wpt;
+       time_t time;
+       int rtelinks;
+       mmo_data_t **rtelink = NULL;
+       char *str;
+       char buf[16];
+       int i, ux;
+       
+       DBG((sobj, ":-----------------------------------------------------\n"));
+       DBG((sobj, "name = \"%s\" [ visible=%s, id=0x%04X ]\n", 
+               data->name, data->visible ? "yes" : "NO", data->objid));
+
+       wpt = waypt_new();
+       wpt->shortname = xstrdup(data->name);
+
+       time = data->mtime;
+       if (! time) time = data->ctime;
+       if (time > 0) wpt->creation_time = time;
+
+       wpt->latitude = gbfgetdbl(fin);
+       wpt->longitude = gbfgetdbl(fin);
+
+       DBG((sobj, "coordinates = %f / %f\n", wpt->latitude, wpt->longitude));
+
+       rtelinks = gbfgetuint16(fin);
+       if (rtelinks > 0) {
+
+               rtelink = xcalloc(sizeof(*rtelink), rtelinks);
+               DBG((sobj, "rtelinks = %d\n", rtelinks));
+
+               for (i = 0; i < rtelinks; i++) {
+                       mmo_data_t *tmp;
+                       int objid;                      
+
+                       DBG((sobj, "read rtelink number %d\n", i + 1));
+
+                       objid = gbfgetuint16(fin);
+                       gbfseek(fin, -2, SEEK_CUR);
+
+                       rtelink[i] = tmp = mmo_read_object(wpt);
+                       
+                       if ((objid < 0x8000) && (tmp != NULL) && (tmp->type == rtedata)) {
+                               route_head *rte = tmp->data;
+
+                               tmp->left--;
+                               route_add_wpt(rte, waypt_dupe(wpt));
+
+                               DBG((sobj, "\"%s\" Added to route \"%s\"\n", wpt->shortname, rte->rte_name));
+                       }
+               }
+
+       }
+       
+       str = mmo_readstr();    /* descr + url */
+       if (strncmp(str, "_FILE_ ", 7) == 0) {
+               char *cx, *cend;
+               
+               cx = lrtrim(str + 7);
+               cend = strchr(cx, '\n');
+               if (cend == NULL) cend = cx + strlen(cx);
+               
+               cx = lrtrim(xstrndup(cx, cend - cx));
+               if (*cx) wpt->url = cx;
+               else xfree(cx);
+
+               if (*cend++) wpt->notes = xstrdup(cend);
+               
+               if (wpt->url) DBG((sobj, "url = \"%s\"\n", wpt->url));
+       }
+       else
+               if (*str) wpt->notes = xstrdup(str);
+       xfree(str);
+
+       if (wpt->notes) DBG((sobj, "notes = \"%s\"\n", wpt->notes));
+
+       mmo_fillbuf(buf, 12, 1);
+       i = le_read32(&buf[8]);         /* icon */
+       if (i != -1) {
+               char key[16];
+               char *name;
+               
+               snprintf(key, sizeof(key), "%d", i);
+               if (avltree_find(icons, key, (void *)&name)) {
+                       wpt->icon_descr = xstrdup(name);
+                       wpt->wpt_flags.icon_descr_is_dynamic = 1;
+                       DBG((sobj, "icon = \"%s\"\n", wpt->icon_descr));
+               }
+       }
+
+       wpt->proximity = le_read_float(&buf[4]);
+       if (wpt->proximity) {
+               wpt->wpt_flags.proximity = 1;
+               DBG((sobj, "proximity = %f\n", wpt->proximity));
+       }
+
+       str = mmo_readstr();    /* name on gps ??? option ??? */
+       if (*str) {
+               wpt->description = wpt->shortname;
+               wpt->shortname = str;
+               DBG((sobj, "name on gps = %s\n", str));
+       }
+       else xfree(str);
+
+       ux = gbfgetuint32(fin);
+       DBG((sobj, "proximity type = %d\n", ux));
+
+       if (rtelinks) {
+               int i;
+
+               for (i = 0; i < rtelinks; i++) {
+                       int j;
+                       route_head *rte = rtelink[i]->data;
+
+                       for (j = 0; j < rtelinks; j++) {
+                               if ((i != j) && (rtelink[i] == rtelink[j])) {
+                                       rtelink[i]->loop = 1;
+                                       break;
+                               }
+                       }
+                       rtelink[i]->done++;
+                       if ((rtelink[i]->left == 0) && (rtelink[i]->done == rte->rte_waypt_ct)) {
+                               if (mmo_version <= 0x11) mmo_end_of_route(rtelink[i]);
+                       }
+               }
+       }
+
+       if (rtelink) {
+               xfree(rtelink);
+               waypt_free(wpt);
+               data->data = NULL;
+       }
+       else waypt_add(wpt);
+}
+
+
+static void
+mmo_read_CObjRoute(mmo_data_t *data, const waypoint *add)
+{
+#ifdef MMO_DBG
+       const char *sobj = "CObjRoute";
+#endif
+       int rtept;
+       route_head *rte;
+       char buf[16];
+       int ux;
+
+       DBG((sobj, ":-----------------------------------------------------\n"));
+       DBG((sobj, "name = \"%s\" [ visible=%s, id=0x%04X ]\n", 
+               data->name, data->visible ? "yes" : "NO", data->objid));
+
+       data->data = rte = route_head_alloc();
+       rte->rte_name = xstrdup(data->name);
+       route_add_head(rte);
+
+       ux = gbfgetc(fin);              /* line label */
+       DBG((sobj, "line label = %d\n", ux));
+
+       data->left = rtept = gbfgetint16(fin);
+       DBG((sobj, "route has %d point(s)\n", rtept));
+
+       if ((data->left <= 0) && (mmo_version >= 0x12)) {
+               mmo_fillbuf(buf, 7, 1);
+       }
+
+       if (add) {      /* waypoint loaded before route */
+               route_add_wpt(rte, waypt_dupe(add));
+               data->left--;
+       }
+       
+       while (data->left > 0) {
+               (void) mmo_read_object(NULL);
+       }
+       
+       if ((mmo_version > 0x11) && (data->done > 0)) mmo_end_of_route(data);
+}
+
+
+static void
+mmo_read_CObjTrack(mmo_data_t *data)
+{
+#ifdef MMO_DBG
+       const char *sobj = "CObjTrack";
+#endif
+       int tp, ctp;
+       route_head *trk;
+
+       DBG((sobj, ":-----------------------------------------------------\n"));
+       DBG((sobj, "name = \"%s\" [ visible=%s, id=0x%04X ]\n", 
+               data->name, data->visible ? "yes" : "NO", data->objid));
+
+       trk = route_head_alloc();
+       trk->rte_name = xstrdup(data->name);
+       track_add_head(trk);
+
+       tp = gbfgetint16(fin);
+       DBG((sobj, "track has %d point(s)\n", tp));
+
+       for (ctp = 0; ctp < tp; ctp++) {
+               waypoint *wpt;
+               char unk;
+               
+               wpt = waypt_new();
+               
+               wpt->latitude = gbfgetdbl(fin);
+               wpt->longitude = gbfgetdbl(fin);
+               unk = gbfgetc(fin);
+               
+               wpt->creation_time = gbfgetint32(fin);
+               wpt->altitude = gbfgetflt(fin);
+
+               if (unk != 0) {
+                       gbuint16 ux;
+                       ux = gbfgetuint16(fin);
+                       DBG((sobj, "u16 = %04X (%d)\n", ux, ux));
+                       if (unk > 1) {
+                               gbuint16 ux;
+                               ux = gbfgetuint16(fin);
+                               DBG((sobj, "u16 = %04X (%d)\n", ux, ux));
+                       }
+               }
+               track_add_wpt(trk, wpt);
+       }
+       
+       if (mmo_version > 0) {
+               gbuint32 u32;
+               
+               u32 = gbfgetuint32(fin);        /* Min. update interval */
+               DBG((sobj, "min. update interval = %d\n", u32));
+               u32 = gbfgetuint32(fin);        /* unknown */
+//             DBG((sobj, "unknown value = 0x%8X (%d)\n", u32, u32));
+               u32 = gbfgetuint32(fin);        /* unknown */
+//             DBG((sobj, "unknown value = 0x%8X (%d)\n", u32, u32));
+               u32 = gbfgetuint32(fin);        /* unknown */
+               DBG((sobj, "min. update distance = %d\n", u32));
+               u32 = gbfgetuint32(fin);        /* unknown */
+               DBG((sobj, "track partition interval = %d\n", u32 / 60));
+               u32 = gbfgetuint32(fin);        /* unknown */
+//             DBG((sobj, "unknown value = 0x%8X (%d)\n", u32, u32));
+               u32 = gbfgetuint32(fin);        /* unknown */
+               DBG((sobj, "tick interval = %d\n", u32 / 60));
+               trk->line_color.bbggrr = gbfgetuint32(fin);     /* rgb color */
+               trk->line_color.opacity = 255;
+               DBG((sobj, "color = 0x%06X\n", trk->line_color.bbggrr));
+       }
+
+       if (mmo_version >= 0x12) {
+               char u8;
+               
+               u8 = gbfgetc(fin);
+               DBG((sobj, "line width = %d - (since 0x12)\n", u8));
+               u8 = gbfgetc(fin);
+               DBG((sobj, "line style = %d - (since 0x12)\n", u8));
+               u8 = gbfgetc(fin);
+               DBG((sobj, "transparency = %d - (since 0x12)\n", u8));
+               trk->line_color.opacity = 255 - (u8 * 51);
+
+               if (mmo_version >= 0x16) {
+                       char u8;
+                       gbuint16 u16;
+                       
+                       u8 = gbfgetc(fin);
+//                     DBG((sobj, "u8 = 0x%X (since 0x16)\n", u8));
+                       u16 = gbfgetuint16(fin);
+//                     DBG((sobj, "u16 = 0x%X (since 0x16)\n", u16));
+                       u16 = gbfgetuint16(fin);
+//                     DBG((sobj, "u16 = 0x%X (since 0x16)\n", u16));
+               }
+       }
+       
+       if (trk->rte_waypt_ct == 0) {
+               track_del_head(trk);
+               data->data = NULL;
+       }
+}
+
+
+static void
+mmo_read_CObjText(mmo_data_t *data)
+{
+#ifdef MMO_DBG
+       const char *sobj = "CObjText";
+#endif
+       int i;
+       char buf[512];
+       double lat, lon;
+       char *text, *font;
+                       
+       DBG((sobj, ":-----------------------------------------------------\n"));
+       DBG((sobj, "name = \"%s\" [ visible=%s, id=0x%04X ]\n", 
+               data->name, data->visible ? "yes" : "NO", data->objid));
+
+       lat = gbfgetdbl(fin);
+       lon = gbfgetdbl(fin);
+       DBG((sobj, "coordinates = %f / %f\n", lat, lon));
+
+       text = mmo_readstr();
+       DBG((sobj, "text = \"%s\"\n", text));
+       xfree(text);
+       
+       mmo_fillbuf(buf, 28, 1);
+
+       font = mmo_readstr();
+       DBG((sobj, "font = \"%s\"\n", font));
+       xfree(font);
+
+       i = mmo_fillbuf(buf, 25, 1);
+//     mmo_printbuf(buf, i, "CObjText\n");
+}
+
+
+static void
+mmo_read_CObjCurrentPosition(mmo_data_t *data)
+{
+#ifdef MMO_DBG
+       const char *sobj = "CObjCurrentPosition";
+#endif
+       char buf[24];
+       double lat, lon;
+                               
+       DBG((sobj, ":-----------------------------------------------------\n"));
+       DBG((sobj, "name = \"%s\" [ visible=%s, id=0x%04X ]\n", 
+               data->name, data->visible ? "yes" : "NO", data->objid));
+
+       lat = gbfgetdbl(fin);
+       lon = gbfgetdbl(fin);
+       DBG((sobj, "coordinates = %f / %f\n", lat, lon));
+
+       mmo_fillbuf(buf, 24, 1);
+
+       if (mmo_version >= 0x14) {
+               char *name;
+               
+               name = mmo_readstr();
+               DBG((sobj, "name = \"%s\"\n", name));
+               xfree(name);
+               mmo_fillbuf(buf, 13, 1);
+       }
+}
+
+
+static mmo_data_t *
+mmo_read_object(const waypoint *add)
+{
+       int objid;
+       mmo_data_t *data = NULL;
+
+       objid = gbfgetuint16(fin);
+       if (objid == 0xFFFF) {
+               gbuint16 version;
+               char *sobj;
+               int len;
+               
+               objid = mmo_object_id++;
+
+               version = gbfgetuint16(fin);
+               is_fatal(version != mmo_version, MYNAME ": Invalid version identifier!\n");
+               
+               len = gbfgetint16(fin);
+               
+               sobj = xmalloc(len + 1);
+               sobj[len] = '\0';
+               gbfread(sobj, len, 1, fin);
+               
+               if (strcmp(sobj, "CObjIcons") == 0) ico_object_id = objid;
+               else if (strcmp(sobj, "CCategory") == 0) cat_object_id = objid;
+               else if (strcmp(sobj, "CObjWaypoint") == 0) wpt_object_id = objid;
+               else if (strcmp(sobj, "CObjRoute") == 0) rte_object_id = objid;
+               else if (strcmp(sobj, "CObjTrack") == 0) trk_object_id = objid;
+               else if (strcmp(sobj, "CObjCurrentPosition") == 0) pos_object_id = objid;
+               else if (strcmp(sobj, "CObjText") == 0) txt_object_id = objid;
+               else
+                       fatal(MYNAME ": Unknown Object \"%s\"!\n", sobj);
+               xfree(sobj);
+       }
+
+       if (objid & 0x8000) {
+
+               data = mmo_register_object(mmo_object_id++, NULL, 0);
+               data->name = mmo_readstr();
+
+               if (objid != cat_object_id) {
+                       data->ctime = gbfgetuint32(fin);
+                       data->mtime = gbfgetuint32(fin);
+                       data->locked = gbfgetc(fin);
+                       data->visible = gbfgetc(fin);
+                       (void) gbfgetuint16(fin);
+                       (void) gbfgetuint16(fin);
+               
+                       if (objid != ico_object_id) mmo_read_category(data);
+               }
+
+               if (objid == cat_object_id) ;   /* do nothing */                
+               else if (objid == ico_object_id) mmo_read_CObjIcons(data);
+               else if (objid == trk_object_id) {
+                       data->type = trkdata;
+                       mmo_read_CObjTrack(data);
+               }
+               else if (objid == wpt_object_id) {
+                       data->type = wptdata;
+                       mmo_read_CObjWaypoint(data);
+               }
+               else if (objid == rte_object_id) {
+                       data->type = rtedata;
+                       mmo_read_CObjRoute(data, add);
+               }
+               else if (objid == pos_object_id) mmo_read_CObjCurrentPosition(data);
+               else if (objid == txt_object_id) mmo_read_CObjText(data);
+               else
+                       fatal(MYNAME ": Unregistered Object-ID 0x%04X\n", objid);
+       }
+       else data = mmo_get_object(objid);
+       
+       return data;
+}
+
+/*******************************************************************************
+* %%%        global callbacks called by gpsbabel main process              %%% *
+*******************************************************************************/
+
+static void
+mmo_rd_init(const char *fname)
+{
+       int i;
+       
+       fin = gbfopen_le(fname, "rb", MYNAME);
+       
+       category_ids = avltree_init(0, MYNAME);
+       objects = avltree_init(0, MYNAME);
+       icons = avltree_init(0, MYNAME);
+       
+       ico_object_id = pos_object_id = txt_object_id = cat_object_id = 0;
+       wpt_object_id = rte_object_id = trk_object_id = 0;
+       
+       mmo_object_id = 0x8001;
+       
+       i = 0;
+       while (mmo_icon_value_table[i].icon) {
+               mmo_register_icon(mmo_icon_value_table[i].value, mmo_icon_value_table[i].icon);
+               i++;
+       }
+}
+
+
+static void 
+mmo_rd_deinit(void)
+{
+       mmo_release_avltree(icons, 0);
+       mmo_release_avltree(category_ids, 0);
+       mmo_release_avltree(objects, 1);
+       gbfclose(fin);
+}
+
+
+static void
+mmo_read(void)
+{
+#ifdef MMO_DBG
+       const char *sobj = "main";
+#endif
+       gbfile *fx;
+       int i;
+
+       /* copy file to memory stream (needed for seek-ops and piped commands) */
+
+       DBG(("main", "loading file \"%s\".\n", fin->name));
+       
+       fx = gbfopen(NULL, "wb", MYNAME);
+       gbfcopyfrom(fx, fin, 0x7FFFFFFF);
+       gbfrewind(fx);
+       gbfclose(fin);
+       fin = fx;
+               
+       mmo_obj_ct = gbfgetuint16(fin);
+       DBG((sobj, "number of objects = %d\n", mmo_obj_ct));
+       
+       i = gbfgetuint16(fin);
+       if (i != 0xFFFF) fatal(MYNAME ": Marker not equel to 0xFFFF!\n");
+
+       mmo_version = gbfgetuint16(fin);
+       DBG((sobj, "version = 0x%02X\n", mmo_version));
+
+       mmo_filemark = 0xFFFF0000UL | be_read16(&mmo_version);
+       DBG((sobj, "filemark = 0x%08X\n", mmo_filemark));
+
+       gbfseek(fin, -4, SEEK_CUR);
+
+       while (! gbfeof(fin)) {         /* main read loop */
+
+               (void) mmo_read_object(NULL);
+
+       }
+
+#ifdef MMO_DBG
+       printf("\n" MYNAME ":---------------------------------------\n");
+       printf(MYNAME ": EOF reached, nice!!!\n");
+       printf(MYNAME ": =======================================\n\n");
+#endif 
+}
+
+/**************************************************************************/
+
+static void
+mmo_register_category_names(const char *name)
+{
+       char key[16];
+
+       snprintf(key, sizeof(key), "%d", mmo_object_id);
+       avltree_insert(category_names, name, xstrdup(key));
+}
+
+
+static void
+mmo_writestr(const char *str)
+{
+       int len = strlen(str);
+
+       if (len > 254) {
+               len = len & 0x7FFF;
+               gbfputc(0xFF, fout);
+               gbfputint16(len, fout);
+       }
+       else gbfputc(len, fout);
+       if (len) gbfwrite(str, len, 1, fout);
+}
+
+
+static void
+mmo_enum_waypt_cb(const waypoint *wpt)
+{
+       mmo_obj_ct++;
+}
+
+
+static void
+mmo_enum_route_cb(const route_head *rte)
+{
+       mmo_obj_ct++;
+}
+
+
+static int
+mmo_write_obj_mark(const char *sobj, const char *name)
+{
+       char *key;
+       gbuint16 nr;
+       char buf[16];
+       int res;
+       
+       if (avltree_find(mmobjects, sobj, (void *)&key)) {
+               nr = (unsigned)atoi(key);
+               gbfputuint16(nr, fout);
+       }
+       else {
+               mmo_object_id++;
+               snprintf(buf, sizeof(buf), "%u", mmo_object_id);
+#ifdef MMO_DBG
+               printf(MYNAME ": Object \"%s\" registered (id = 0x%04X)\n", sobj, mmo_object_id);
+#endif
+               avltree_insert(mmobjects, sobj, xstrdup(buf));
+               
+               gbfputuint32(mmo_filemark, fout);
+               gbfputuint16(strlen(sobj), fout);
+               gbfwrite(sobj, strlen(sobj), 1, fout);
+       }
+
+       mmo_object_id++;
+       res = mmo_object_id;
+       mmo_writestr(name);
+
+       return res;
+}
+
+
+static void
+mmo_write_category(const char *sobj, const char *name)
+{
+       char *key;
+       gbuint16 nr;
+       
+       if (avltree_find(category_names, name, (void *)&key)) {
+               nr = (unsigned)atoi(key);
+               gbfputuint16(nr & 0x7FFF, fout);
+       }
+       else {
+               mmo_write_obj_mark(sobj, name);
+               mmo_register_category_names(name);
+       }
+}
+
+
+static int
+mmo_write_obj_head(const char *sobj, const char *name, const time_t ctime, 
+       const gpsdata_type type)
+{
+       int res;
+
+       res = mmo_write_obj_mark(sobj, name);
+       
+       gbfputuint32(ctime, fout);
+       gbfputuint32(ctime, fout);
+
+       gbfputc(0, fout);       /* not locked */
+       gbfputc(1, fout);       /* visible */
+
+       switch(type) {
+               case trkdata: gbfputuint16(0x1E, fout); break;
+               case wptdata: gbfputuint16(0x3C, fout); break;
+               case rtedata: gbfputuint16(0x14, fout); break;
+               default: gbfputuint16(type, fout); break;
+       }
+       gbfputuint16(0x00, fout);
+       
+       return res;
+}
+
+
+static void
+mmo_write_wpt_cb(const waypoint *wpt)
+{
+       char *str, *cx;
+       int objid;
+       time_t time;
+       int icon = 0;
+
+       time = wpt->creation_time;
+       if (time < 0) time = 0;
+       
+       if (mmo_datatype == trkdata) {
+               gbfputdbl(wpt->latitude, fout);
+               gbfputdbl(wpt->longitude, fout);
+               gbfputc(0, fout);
+               gbfputuint32(time, fout);
+               if (wpt->altitude != unknown_alt) 
+                       gbfputflt(wpt->altitude, fout);
+               else
+                       gbfputflt(0, fout);
+
+               return;
+       }
+
+       objid = mmo_write_obj_head("CObjWaypoint", (wpt->shortname) ? wpt->shortname : "Marks", time, wptdata);
+       mmo_register_object(objid, wpt, wptdata);
+       mmo_write_category("CCategory", "Marks"); // (mmo_datatype == rtedata) ? "Waypoints" : "Marks");
+
+       gbfputdbl(wpt->latitude, fout);
+       gbfputdbl(wpt->longitude, fout);
+       
+       if (mmo_datatype == rtedata) {
+               int i = mmo_get_objid(mmo_rte);
+               gbfputuint16(1, fout); /* two extra bytes */
+               gbfputuint16(i & 0x7FFF, fout);
+       }
+       else
+               gbfputuint16(0, fout); /* extra bytes */
+
+       if (wpt->url && *wpt->url) {
+               str = xstrdup("_FILE_ ");
+               str = xstrappend(str, wpt->url);
+               str = xstrappend(str, "\n");
+       }
+       else str = xstrdup("");
+       
+       cx = wpt->description;
+       if (cx == NULL) cx = wpt->notes;
+       if (cx != NULL) {
+               char *kml = NULL;
+               
+               if (strcmp(wpt->session->name, "kml") == 0) {
+                       utf_string tmp;
+
+                       tmp.utfstring = cx;
+                       tmp.is_html = 1;
+                       cx = kml = strip_html(&tmp);
+               }
+               str = xstrappend(str, cx);
+               if (kml) xfree(kml);
+       }
+       mmo_writestr(str);
+       xfree(str);
+       
+       gbfputuint32(0x01, fout);
+       if WAYPT_HAS(wpt, proximity) gbfputflt((int) wpt->proximity, fout);
+       else gbfputflt(0, fout);
+       
+       if (wpt->icon_descr) {
+               int i = 0;
+               
+               while (mmo_icon_value_table[i].icon) {
+                       if (case_ignore_strcmp(wpt->icon_descr, mmo_icon_value_table[i].icon) == 0) {
+                               icon = mmo_icon_value_table[i].value;
+                               break;
+                       }
+                       i++;
+               }
+       }
+       gbfputuint32(icon, fout);
+
+       mmo_writestr("");               /* name on gps */
+       gbfputuint32(0x00, fout);
+}
+
+
+static void
+mmo_write_rte_head_cb(const route_head *rte)
+{
+       int objid;
+       queue *elem, *tmp;
+       time_t time = 0x7FFFFFFF;
+
+       if (rte->rte_waypt_ct <= 0) return;
+
+       mmo_rte = (route_head *)rte;
+
+       QUEUE_FOR_EACH(&rte->waypoint_list, elem, tmp) {
+               waypoint *wpt = (waypoint *)elem;
+
+               if ((wpt->creation_time > 0) && (wpt->creation_time < time))
+                       time = wpt->creation_time;
+       }
+       if (time == 0x7FFFFFFF) time = gpsbabel_time;
+       
+       objid = mmo_write_obj_head("CObjRoute",
+               (rte->rte_name) ? rte->rte_name : "Route", time, rtedata);
+       mmo_register_object(objid, rte, rtedata);
+       mmo_write_category("CCategory", "Route");
+       gbfputc(0, fout); /* unknown */
+       gbfputuint16(rte->rte_waypt_ct, fout);
+}
+
+
+static void
+mmo_write_rte_tail_cb(const route_head *rte)
+{
+       queue *elem, *tmp;
+       
+       if (rte->rte_waypt_ct <= 0) return;
+
+       if (rte->line_color.bbggrr < 0) {
+               gbfputuint32(0xFF, fout);       /* color; default red */
+               gbfputc(0x01, fout);            /* Line width "normal" */
+               gbfputc(0x00, fout);            /* Line style "solid"*/
+               gbfputc(0x00, fout);            /* Transparency "Opaque" */
+       }
+       else {
+               gbfputuint32(rte->line_color.bbggrr, fout);     /* color */
+               gbfputc(0x01, fout);            /* Line width "normal" */
+               gbfputc(0x00, fout);            /* Line style "solid"*/
+               gbfputc((255 - rte->line_color.opacity) / 51, fout);    /* Transparency "Opaque" */
+       }
+       
+       QUEUE_FOR_EACH(&rte->waypoint_list, elem, tmp) {
+               waypoint *wpt = (waypoint *)elem;
+               int objid = mmo_get_objid(wpt);
+               gbfputuint16(objid & 0x7FFF, fout);
+       }
+}
+
+
+static void
+mmo_write_trk_head_cb(const route_head *trk)
+{
+       int objid;
+
+       if (trk->rte_waypt_ct <= 0) return;
+       
+       objid = mmo_write_obj_head("CObjTrack", (trk->rte_name) ? trk->rte_name : "Track", gpsbabel_time, trkdata);
+       mmo_write_category("CCategory", "Track");
+       gbfputuint16(trk->rte_waypt_ct, fout);
+       
+       mmo_register_object(objid, trk, trkdata);
+}
+
+
+static void
+mmo_write_trk_tail_cb(const route_head *trk)
+{
+       if (trk->rte_waypt_ct <= 0) return;
+
+       gbfputuint32(0x0A, fout);       /* Min. update interval */
+       gbfputflt(0, fout);
+       gbfputflt(0, fout);
+       gbfputuint32(0x0F, fout);       /* Min. update distance */
+       gbfputuint32(0xE10, fout);      /* Track partition interval */
+       gbfputuint32(0x00, fout);       /* ??? */
+       gbfputuint32(0x12C, fout);
+
+       if (trk->line_color.bbggrr < 0) {
+               gbfputuint32(0xFF0000, fout);   /* color; default blue */
+               gbfputc(0x01, fout);            /* Line width "normal" */
+               gbfputc(0x00, fout);            /* Line style "solid"*/
+               gbfputc(0x00, fout);            /* Transparency "Opaque" */
+       }
+       else {
+               gbfputuint32(trk->line_color.bbggrr, fout);     /* color */
+               gbfputc(0x01, fout);            /* Line width "normal" */
+               gbfputc(0x00, fout);            /* Line style "solid"*/
+               gbfputc((255 - trk->line_color.opacity) / 51, fout);    /* Transparency "Opaque" */
+       }
+}
+
+/**************************************************************************/
+
+static void
+mmo_wr_init(const char *fname)
+{
+       fout = gbfopen_le(fname, "wb", MYNAME);
+       
+       objects = avltree_init(0, MYNAME);
+       mmobjects = avltree_init(0, MYNAME);
+       category_names = avltree_init(0, MYNAME);
+
+       mmo_object_id = 0x8000;
+       mmo_obj_ct = 1;                 /* ObjIcons always present */
+       mmo_version = 0x12;             /* we write as version 0x12 */
+       mmo_filemark = 0xFFFFUL | (mmo_version << 16);
+}
+
+
+static void
+mmo_wr_deinit(void)
+{
+       mmo_release_avltree(mmobjects, 0);
+       mmo_release_avltree(category_names, 0);
+       mmo_release_avltree(objects, 1);
+
+       gbfclose(fout);
+}
+
+
+static void
+mmo_write(void)
+{
+       int i;
+       
+       /* find out number of objects we have to write */
+       waypt_disp_all(mmo_enum_waypt_cb);
+       route_disp_all(mmo_enum_route_cb, NULL, mmo_enum_waypt_cb);
+       track_disp_all(mmo_enum_route_cb, NULL, NULL);
+       
+       gbfputuint16(mmo_obj_ct, fout);
+       
+       mmo_write_obj_head("CObjIcons", "Unnamed object", gpsbabel_time, 0);
+       for (i = 0; i < 5; i++) gbfputuint16(0, fout);
+
+       mmo_datatype = wptdata;
+       waypt_disp_all(mmo_write_wpt_cb);
+       mmo_datatype = rtedata;
+       route_disp_all(mmo_write_rte_head_cb, mmo_write_rte_tail_cb, mmo_write_wpt_cb);
+       mmo_datatype = trkdata;
+       track_disp_all(mmo_write_trk_head_cb, mmo_write_trk_tail_cb, mmo_write_wpt_cb);
+}
+
+/**************************************************************************/
+
+ff_vecs_t mmo_vecs = {
+       ff_type_file,
+       FF_CAP_RW_ALL,  /* read and write waypoints, tracks and routes*/
+       mmo_rd_init,    
+       mmo_wr_init,
+       mmo_rd_deinit,  
+       mmo_wr_deinit,
+       mmo_read,
+       mmo_write,
+       NULL,
+       mmo_args,
+       CET_CHARSET_MS_ANSI, 0
+
+};
+
+/**************************************************************************/
diff --git a/reference/memory-map.mmo b/reference/memory-map.mmo
new file mode 100755 (executable)
index 0000000..5785270
Binary files /dev/null and b/reference/memory-map.mmo differ
diff --git a/reference/memory-map~mmo.gpx b/reference/memory-map~mmo.gpx
new file mode 100644 (file)
index 0000000..358aa6c
--- /dev/null
@@ -0,0 +1,3180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gpx
+  version="1.0"
+  creator="GPSBabel - http://www.gpsbabel.org"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns="http://www.topografix.com/GPX/1/0"
+  xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
+<time>1970-01-01T00:00:00Z</time>
+<bounds minlat="50.492618987" minlon="-3.308693619" maxlat="55.526554325" maxlon="12.510077152"/>
+<wpt lat="50.877340632" lon="12.433888670">
+  <time>2008-10-18T17:42:24Z</time>
+  <name>3</name>
+  <cmt>B93</cmt>
+  <desc>B93</desc>
+  <sym>Dot</sym>
+</wpt>
+<wpt lat="50.964955240" lon="12.435919438">
+  <time>2008-10-18T17:42:36Z</time>
+  <name>Altenburg-Umgehung</name>
+  <cmt>Altenburg-Umgehung</cmt>
+  <desc>Altenburg-Umgehung</desc>
+  <sym>Dot</sym>
+</wpt>
+<wpt lat="50.610795273" lon="12.173802154">
+  <time>2008-10-18T17:42:42Z</time>
+  <name>Elsterberg</name>
+  <cmt>Piehlerstrasse</cmt>
+  <desc>Piehlerstrasse</desc>
+  <sym>Dot</sym>
+</wpt>
+<wpt lat="50.844125748" lon="12.408757210">
+  <time>2008-10-18T17:42:48Z</time>
+  <name>Gosel</name>
+  <cmt>Gosel</cmt>
+  <desc>Gosel</desc>
+  <sym>Dot</sym>
+</wpt>
+<wpt lat="50.654763049" lon="12.204956766">
+  <time>2008-10-18T17:42:53Z</time>
+  <name>Greiz</name>
+  <cmt>August-Bebel-Strasse</cmt>
+  <desc>August-Bebel-Strasse</desc>
+  <sym>Dot</sym>
+</wpt>
+<wpt lat="50.493662870" lon="12.107152529">
+  <time>2008-10-18T17:42:59Z</time>
+  <name>Jahnstrasse</name>
+  <cmt>Jahnstrasse 11</cmt>
+  <desc>Jahnstrasse 11</desc>
+  <sym>Dot</sym>
+</wpt>
+<wpt lat="50.493837046" lon="12.106101019">
+  <time>2008-10-18T17:43:05Z</time>
+  <name>Liebknechtstrasse</name>
+  <cmt>Liebknechtstrasse 90</cmt>
+  <desc>Liebknechtstrasse 90</desc>
+  <sym>Dot</sym>
+</wpt>
+<wpt lat="50.492618987" lon="12.105448823">
+  <time>2008-10-18T17:41:44Z</time>
+  <name>NARVA</name>
+  <cmt>Start</cmt>
+  <desc>Start</desc>
+  <url>http://www.narva-light.de</url>
+  <sym>Flag</sym>
+</wpt>
+<wpt lat="51.314520836" lon="12.409143448">
+  <time>2008-10-18T17:42:11Z</time>
+  <name>Völkerschlachtdenkmal</name>
+  <cmt>P+R Am Völkerschlachtdenkmal P+R</cmt>
+  <desc>P+R Am Völkerschlachtdenkmal P+R</desc>
+  <url>http://www.leipzig.de</url>
+  <sym>Flag</sym>
+</wpt>
+<wpt lat="55.205644644" lon="-2.391041395">
+  <time>2008-10-18T17:45:37Z</time>
+  <name>Mark</name>
+  <cmt>Mark</cmt>
+  <desc>Mark</desc>
+  <sym>Flag</sym>
+</wpt>
+<rte>
+  <name>NARVA-Leipzig</name>
+  <rtept lat="50.492618987" lon="12.105448823">
+    <time>2008-10-18T17:42:02Z</time>
+    <name>NARVA</name>
+  </rtept>
+  <rtept lat="50.493837046" lon="12.106101019">
+    <time>2008-10-18T17:43:07Z</time>
+    <name>Liebknechtstrasse</name>
+  </rtept>
+  <rtept lat="50.493662870" lon="12.107152529">
+    <time>2008-10-18T17:43:02Z</time>
+    <name>Jahnstrasse</name>
+  </rtept>
+  <rtept lat="50.610795273" lon="12.173802154">
+    <time>2008-10-18T17:42:45Z</time>
+    <name>Elsterberg</name>
+  </rtept>
+  <rtept lat="50.654763049" lon="12.204956766">
+    <time>2008-10-18T17:42:56Z</time>
+    <name>Greiz</name>
+  </rtept>
+  <rtept lat="50.844125748" lon="12.408757210">
+    <time>2008-10-18T17:42:51Z</time>
+    <name>Gosel</name>
+  </rtept>
+  <rtept lat="50.877340632" lon="12.433888670">
+    <time>2008-10-18T17:42:31Z</time>
+    <name>3</name>
+  </rtept>
+  <rtept lat="50.964955240" lon="12.435919438">
+    <time>2008-10-18T17:42:39Z</time>
+    <name>Altenburg-Umgehung</name>
+  </rtept>
+  <rtept lat="51.314520836" lon="12.409143448">
+    <time>2008-10-18T17:42:15Z</time>
+    <name>Völkerschlachtdenkmal</name>
+  </rtept>
+</rte>
+<trk>
+  <name>Track</name>
+<trkseg>
+<trkpt lat="55.526554325" lon="-3.305363336">
+  <ele>0.000000</ele>
+</trkpt>
+<trkpt lat="55.374771583" lon="-3.308693619">
+  <ele>0.000000</ele>
+</trkpt>
+<trkpt lat="55.291091535" lon="-3.139741701">
+  <ele>0.000000</ele>
+</trkpt>
+<trkpt lat="55.334711930" lon="-3.032845685">
+  <ele>0.000000</ele>
+</trkpt>
+<trkpt lat="55.453578021" lon="-2.994226093">
+  <ele>0.000000</ele>
+</trkpt>
+<trkpt lat="55.513672238" lon="-3.171228225">
+  <ele>0.000000</ele>
+</trkpt>
+<trkpt lat="55.526554325" lon="-3.305363336">
+  <ele>0.000000</ele>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+  <name>ACTIVE LOG 001</name>
+<trkseg>
+<trkpt lat="51.311770314" lon="12.413178999">
+  <ele>146.257812</ele>
+  <time>2005-05-01T10:12:47Z</time>
+</trkpt>
+<trkpt lat="51.311807279" lon="12.412898038">
+  <ele>145.777100</ele>
+  <time>2005-05-01T10:13:04Z</time>
+</trkpt>
+<trkpt lat="51.311884811" lon="12.412773399">
+  <ele>146.738403</ele>
+  <time>2005-05-01T10:13:13Z</time>
+</trkpt>
+<trkpt lat="51.312157726" lon="12.412265455">
+  <ele>141.931763</ele>
+  <time>2005-05-01T10:13:57Z</time>
+</trkpt>
+<trkpt lat="51.312235259" lon="12.412382551">
+  <ele>141.931763</ele>
+  <time>2005-05-01T10:14:09Z</time>
+</trkpt>
+<trkpt lat="51.312254285" lon="12.412417084">
+  <ele>141.451050</ele>
+  <time>2005-05-01T10:14:12Z</time>
+</trkpt>
+<trkpt lat="51.312289406" lon="12.412490090">
+  <ele>141.931763</ele>
+  <time>2005-05-01T10:14:18Z</time>
+</trkpt>
+<trkpt lat="51.312633064" lon="12.412854200">
+  <ele>142.412476</ele>
+  <time>2005-05-01T10:15:02Z</time>
+</trkpt>
+<trkpt lat="51.312721409" lon="12.412818745">
+  <ele>141.931763</ele>
+  <time>2005-05-01T10:15:14Z</time>
+</trkpt>
+<trkpt lat="51.312812939" lon="12.412738027">
+  <ele>142.893066</ele>
+  <time>2005-05-01T10:15:26Z</time>
+</trkpt>
+<trkpt lat="51.312810509" lon="12.412716234">
+  <ele>142.412476</ele>
+  <time>2005-05-01T10:15:37Z</time>
+</trkpt>
+<trkpt lat="51.312740520" lon="12.412753617">
+  <ele>134.241211</ele>
+  <time>2005-05-01T10:16:19Z</time>
+</trkpt>
+<trkpt lat="51.312721241" lon="12.412702655">
+  <ele>135.683105</ele>
+  <time>2005-05-01T10:16:32Z</time>
+</trkpt>
+<trkpt lat="51.312763905" lon="12.412789408">
+  <ele>136.163940</ele>
+  <time>2005-05-01T10:16:45Z</time>
+</trkpt>
+<trkpt lat="51.312845964" lon="12.412965260">
+  <ele>136.644653</ele>
+  <time>2005-05-01T10:16:58Z</time>
+</trkpt>
+<trkpt lat="51.312961131" lon="12.413073555">
+  <ele>139.047852</ele>
+  <time>2005-05-01T10:17:10Z</time>
+</trkpt>
+<trkpt lat="51.313048387" lon="12.413175395">
+  <ele>142.412476</ele>
+  <time>2005-05-01T10:17:23Z</time>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+  <name>ACTIVE LOG 002</name>
+<trkseg>
+<trkpt lat="51.313093062" lon="12.413024353">
+  <ele>136.163940</ele>
+  <time>2005-05-01T10:19:36Z</time>
+</trkpt>
+<trkpt lat="51.312982254" lon="12.413023598">
+  <ele>147.699707</ele>
+  <time>2005-05-01T10:20:39Z</time>
+</trkpt>
+<trkpt lat="51.313008657" lon="12.413007673">
+  <ele>146.738403</ele>
+  <time>2005-05-01T10:20:56Z</time>
+</trkpt>
+<trkpt lat="51.312988121" lon="12.412967859">
+  <ele>154.428955</ele>
+  <time>2005-05-01T10:21:18Z</time>
+</trkpt>
+<trkpt lat="51.313015530" lon="12.413017480">
+  <ele>151.064209</ele>
+  <time>2005-05-01T10:21:26Z</time>
+</trkpt>
+<trkpt lat="51.312980158" lon="12.413197104">
+  <ele>144.335205</ele>
+  <time>2005-05-01T10:22:12Z</time>
+</trkpt>
+<trkpt lat="51.313056350" lon="12.413118314">
+  <ele>142.412476</ele>
+  <time>2005-05-01T10:24:06Z</time>
+</trkpt>
+<trkpt lat="51.312985355" lon="12.413024018">
+  <ele>134.241211</ele>
+  <time>2005-05-01T10:24:40Z</time>
+</trkpt>
+<trkpt lat="51.312895836" lon="12.412974648">
+  <ele>135.202515</ele>
+  <time>2005-05-01T10:24:50Z</time>
+</trkpt>
+<trkpt lat="51.312851077" lon="12.412961572">
+  <ele>135.683105</ele>
+  <time>2005-05-01T10:24:55Z</time>
+</trkpt>
+<trkpt lat="51.312802210" lon="12.412942210">
+  <ele>135.202515</ele>
+  <time>2005-05-01T10:25:00Z</time>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+  <name>ACTIVE LOG 003</name>
+<trkseg>
+<trkpt lat="51.312498450" lon="12.413117811">
+  <ele>149.622314</ele>
+  <time>2005-05-01T10:40:24Z</time>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+  <name>ACTIVE LOG 004</name>
+<trkseg>
+<trkpt lat="51.312458301" lon="12.412885129">
+  <ele>160.677490</ele>
+  <time>2005-05-01T10:45:25Z</time>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+  <name>ACTIVE LOG 005</name>
+<trkseg>
+<trkpt lat="51.312751584" lon="12.412534012">
+  <ele>161.158203</ele>
+  <time>2005-05-01T10:48:46Z</time>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+  <name>ACTIVE LOG 006</name>
+<trkseg>
+<trkpt lat="51.312956605" lon="12.413170785">
+  <ele>161.158203</ele>
+  <time>2005-05-01T11:02:47Z</time>
+</trkpt>
+<trkpt lat="51.312882258" lon="12.413238594">
+  <ele>153.948364</ele>
+  <time>2005-05-01T11:03:25Z</time>
+</trkpt>
+<trkpt lat="51.312861051" lon="12.413237924">
+  <ele>148.180420</ele>
+  <time>2005-05-01T11:03:39Z</time>
+</trkpt>
+<trkpt lat="51.312823417" lon="12.413306069">
+  <ele>138.567261</ele>
+  <time>2005-05-01T11:04:16Z</time>
+</trkpt>
+<trkpt lat="51.312839091" lon="12.413274888">
+  <ele>144.815796</ele>
+  <time>2005-05-01T11:05:02Z</time>
+</trkpt>
+<trkpt lat="51.312832888" lon="12.413309673">
+  <ele>133.760498</ele>
+  <time>2005-05-01T11:05:45Z</time>
+</trkpt>
+<trkpt lat="51.312787291" lon="12.413344206">
+  <ele>130.876709</ele>
+  <time>2005-05-01T11:06:44Z</time>
+</trkpt>
+<trkpt lat="51.312784860" lon="12.413334399">
+  <ele>130.395996</ele>
+  <time>2005-05-01T11:07:50Z</time>
+</trkpt>
+<trkpt lat="51.312757786" lon="12.413339596">
+  <ele>131.837891</ele>
+  <time>2005-05-01T11:08:19Z</time>
+</trkpt>
+<trkpt lat="51.312817968" lon="12.413315540">
+  <ele>143.854370</ele>
+  <time>2005-05-01T11:11:16Z</time>
+</trkpt>
+<trkpt lat="51.312925173" lon="12.413445460">
+  <ele>147.218994</ele>
+  <time>2005-05-01T11:12:34Z</time>
+</trkpt>
+<trkpt lat="51.312992480" lon="12.413792890">
+  <ele>145.296387</ele>
+  <time>2005-05-01T11:13:18Z</time>
+</trkpt>
+<trkpt lat="51.313042771" lon="12.413809905">
+  <ele>145.296387</ele>
+  <time>2005-05-01T11:13:27Z</time>
+</trkpt>
+<trkpt lat="51.313052494" lon="12.413842343">
+  <ele>135.202515</ele>
+  <time>2005-05-01T11:13:37Z</time>
+</trkpt>
+<trkpt lat="51.313108653" lon="12.413846785">
+  <ele>134.721924</ele>
+  <time>2005-05-01T11:13:46Z</time>
+</trkpt>
+<trkpt lat="51.313213846" lon="12.413879726">
+  <ele>136.163940</ele>
+  <time>2005-05-01T11:14:03Z</time>
+</trkpt>
+<trkpt lat="51.313292384" lon="12.413965724">
+  <ele>135.202515</ele>
+  <time>2005-05-01T11:14:16Z</time>
+</trkpt>
+<trkpt lat="51.313285846" lon="12.414052561">
+  <ele>138.567261</ele>
+  <time>2005-05-01T11:14:26Z</time>
+</trkpt>
+<trkpt lat="51.313268077" lon="12.414099332">
+  <ele>138.567261</ele>
+  <time>2005-05-01T11:14:30Z</time>
+</trkpt>
+<trkpt lat="51.313043190" lon="12.414608868">
+  <ele>140.970459</ele>
+  <time>2005-05-01T11:15:06Z</time>
+</trkpt>
+<trkpt lat="51.312980745" lon="12.414831324">
+  <ele>139.528442</ele>
+  <time>2005-05-01T11:15:27Z</time>
+</trkpt>
+<trkpt lat="51.312927185" lon="12.414935678">
+  <ele>140.489868</ele>
+  <time>2005-05-01T11:15:39Z</time>
+</trkpt>
+<trkpt lat="51.312953085" lon="12.414974151">
+  <ele>151.544922</ele>
+  <time>2005-05-01T11:25:31Z</time>
+</trkpt>
+<trkpt lat="51.312930956" lon="12.414981024">
+  <ele>152.025757</ele>
+  <time>2005-05-01T11:25:40Z</time>
+</trkpt>
+<trkpt lat="51.312961550" lon="12.414951688">
+  <ele>155.390259</ele>
+  <time>2005-05-01T11:29:18Z</time>
+</trkpt>
+<trkpt lat="51.313165734" lon="12.414593780">
+  <ele>148.661011</ele>
+  <time>2005-05-01T11:30:30Z</time>
+</trkpt>
+<trkpt lat="51.313166153" lon="12.414567797">
+  <ele>149.622314</ele>
+  <time>2005-05-01T11:30:37Z</time>
+</trkpt>
+<trkpt lat="51.313159782" lon="12.414435782">
+  <ele>150.583618</ele>
+  <time>2005-05-01T11:30:47Z</time>
+</trkpt>
+<trkpt lat="51.313154669" lon="12.414391022">
+  <ele>150.583618</ele>
+  <time>2005-05-01T11:30:48Z</time>
+</trkpt>
+<trkpt lat="51.313338233" lon="12.413906716">
+  <ele>149.622314</ele>
+  <time>2005-05-01T11:30:52Z</time>
+</trkpt>
+<trkpt lat="51.313706283" lon="12.413320234">
+  <ele>149.622314</ele>
+  <time>2005-05-01T11:30:57Z</time>
+</trkpt>
+<trkpt lat="51.313990010" lon="12.412864342">
+  <ele>149.622314</ele>
+  <time>2005-05-01T11:31:03Z</time>
+</trkpt>
+<trkpt lat="51.314221937" lon="12.412491348">
+  <ele>149.622314</ele>
+  <time>2005-05-01T11:31:10Z</time>
+</trkpt>
+<trkpt lat="51.314649582" lon="12.409562208">
+  <ele>143.373657</ele>
+  <time>2005-05-01T11:32:38Z</time>
+</trkpt>
+<trkpt lat="51.314649582" lon="12.409492387">
+  <ele>141.451050</ele>
+  <time>2005-05-01T11:32:45Z</time>
+</trkpt>
+<trkpt lat="51.314649582" lon="12.409492387">
+  <ele>143.373657</ele>
+  <time>2005-05-01T11:33:17Z</time>
+</trkpt>
+<trkpt lat="51.314649582" lon="12.409449304">
+  <ele>138.567261</ele>
+  <time>2005-05-01T11:33:42Z</time>
+</trkpt>
+<trkpt lat="51.314645056" lon="12.409355678">
+  <ele>138.567261</ele>
+  <time>2005-05-01T11:33:54Z</time>
+</trkpt>
+<trkpt lat="51.314645056" lon="12.409355678">
+  <ele>138.086548</ele>
+  <time>2005-05-01T11:34:04Z</time>
+</trkpt>
+<trkpt lat="51.314645056" lon="12.409355678">
+  <ele>138.567261</ele>
+  <time>2005-05-01T11:34:20Z</time>
+</trkpt>
+<trkpt lat="51.314645056" lon="12.409355678">
+  <ele>143.854370</ele>
+  <time>2005-05-01T11:35:45Z</time>
+</trkpt>
+<trkpt lat="51.314645056" lon="12.409355678">
+  <ele>144.815796</ele>
+  <time>2005-05-01T11:35:56Z</time>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+  <name>ACTIVE LOG 007</name>
+<trkseg>
+<trkpt lat="51.315118549" lon="12.410218930">
+  <ele>150.583618</ele>
+  <time>2005-05-01T11:37:24Z</time>
+</trkpt>
+<trkpt lat="51.315169176" lon="12.410345497">
+  <ele>152.025757</ele>
+  <time>2005-05-01T12:00:22Z</time>
+</trkpt>
+<trkpt lat="51.315094410" lon="12.410216499">
+  <ele>136.644653</ele>
+  <time>2005-05-01T12:23:08Z</time>
+</trkpt>
+<trkpt lat="51.315064235" lon="12.410309538">
+  <ele>133.760498</ele>
+  <time>2005-05-01T12:24:15Z</time>
+</trkpt>
+<trkpt lat="51.314956192" lon="12.410358908">
+  <ele>133.760498</ele>
+  <time>2005-05-01T12:24:39Z</time>
+</trkpt>
+<trkpt lat="51.314848401" lon="12.409389792">
+  <ele>135.202515</ele>
+  <time>2005-05-01T12:27:23Z</time>
+</trkpt>
+<trkpt lat="51.314837420" lon="12.409383757">
+  <ele>131.837891</ele>
+  <time>2005-05-01T12:27:38Z</time>
+</trkpt>
+<trkpt lat="51.314837169" lon="12.409447711">
+  <ele>136.644653</ele>
+  <time>2005-05-01T12:29:48Z</time>
+</trkpt>
+<trkpt lat="51.314862566" lon="12.409295412">
+  <ele>136.163940</ele>
+  <time>2005-05-01T12:29:53Z</time>
+</trkpt>
+<trkpt lat="51.314115319" lon="12.406694256">
+  <ele>134.721924</ele>
+  <time>2005-05-01T12:31:02Z</time>
+</trkpt>
+<trkpt lat="51.313963942" lon="12.406226126">
+  <ele>133.760498</ele>
+  <time>2005-05-01T12:31:10Z</time>
+</trkpt>
+<trkpt lat="51.313696560" lon="12.405786747">
+  <ele>133.279907</ele>
+  <time>2005-05-01T12:31:15Z</time>
+</trkpt>
+<trkpt lat="51.313340748" lon="12.404970098">
+  <ele>131.837891</ele>
+  <time>2005-05-01T12:31:21Z</time>
+</trkpt>
+<trkpt lat="51.312701460" lon="12.403499829">
+  <ele>128.954102</ele>
+  <time>2005-05-01T12:31:32Z</time>
+</trkpt>
+<trkpt lat="51.312211705" lon="12.402346982">
+  <ele>127.511963</ele>
+  <time>2005-05-01T12:31:41Z</time>
+</trkpt>
+<trkpt lat="51.311849104" lon="12.401454309">
+  <ele>126.550659</ele>
+  <time>2005-05-01T12:31:47Z</time>
+</trkpt>
+<trkpt lat="51.311397236" lon="12.400106331">
+  <ele>125.589355</ele>
+  <time>2005-05-01T12:31:55Z</time>
+</trkpt>
+<trkpt lat="51.311015105" lon="12.398854746">
+  <ele>124.628052</ele>
+  <time>2005-05-01T12:32:03Z</time>
+</trkpt>
+<trkpt lat="51.310660215" lon="12.397786304">
+  <ele>123.666748</ele>
+  <time>2005-05-01T12:32:12Z</time>
+</trkpt>
+<trkpt lat="51.310497019" lon="12.397280373">
+  <ele>123.186157</ele>
+  <time>2005-05-01T12:32:18Z</time>
+</trkpt>
+<trkpt lat="51.310430551" lon="12.396981390">
+  <ele>123.186157</ele>
+  <time>2005-05-01T12:32:24Z</time>
+</trkpt>
+<trkpt lat="51.309606694" lon="12.393577918">
+  <ele>120.782837</ele>
+  <time>2005-05-01T12:33:46Z</time>
+</trkpt>
+<trkpt lat="51.309461854" lon="12.392355669">
+  <ele>121.263550</ele>
+  <time>2005-05-01T12:33:53Z</time>
+</trkpt>
+<trkpt lat="51.309314668" lon="12.390598487">
+  <ele>120.302124</ele>
+  <time>2005-05-01T12:34:03Z</time>
+</trkpt>
+<trkpt lat="51.309242416" lon="12.388722030">
+  <ele>118.379395</ele>
+  <time>2005-05-01T12:34:13Z</time>
+</trkpt>
+<trkpt lat="51.309278710" lon="12.387513109">
+  <ele>116.937500</ele>
+  <time>2005-05-01T12:34:20Z</time>
+</trkpt>
+<trkpt lat="51.309432434" lon="12.386195054">
+  <ele>115.014893</ele>
+  <time>2005-05-01T12:34:27Z</time>
+</trkpt>
+<trkpt lat="51.309623374" lon="12.384779770">
+  <ele>114.053589</ele>
+  <time>2005-05-01T12:34:35Z</time>
+</trkpt>
+<trkpt lat="51.309846668" lon="12.383127529">
+  <ele>113.092285</ele>
+  <time>2005-05-01T12:34:45Z</time>
+</trkpt>
+<trkpt lat="51.310102735" lon="12.381427847">
+  <ele>112.611572</ele>
+  <time>2005-05-01T12:34:56Z</time>
+</trkpt>
+<trkpt lat="51.310237516" lon="12.380284891">
+  <ele>112.130981</ele>
+  <time>2005-05-01T12:35:04Z</time>
+</trkpt>
+<trkpt lat="51.310272217" lon="12.379324744">
+  <ele>112.611572</ele>
+  <time>2005-05-01T12:35:11Z</time>
+</trkpt>
+<trkpt lat="51.310318066" lon="12.378694592">
+  <ele>112.611572</ele>
+  <time>2005-05-01T12:35:16Z</time>
+</trkpt>
+<trkpt lat="51.310385205" lon="12.377781300">
+  <ele>113.092285</ele>
+  <time>2005-05-01T12:35:24Z</time>
+</trkpt>
+<trkpt lat="51.310482435" lon="12.376459055">
+  <ele>113.572998</ele>
+  <time>2005-05-01T12:35:34Z</time>
+</trkpt>
+<trkpt lat="51.310601961" lon="12.375263711">
+  <ele>113.092285</ele>
+  <time>2005-05-01T12:35:43Z</time>
+</trkpt>
+<trkpt lat="51.310681421" lon="12.374481177">
+  <ele>112.611572</ele>
+  <time>2005-05-01T12:35:49Z</time>
+</trkpt>
+<trkpt lat="51.310718721" lon="12.374113631">
+  <ele>112.611572</ele>
+  <time>2005-05-01T12:35:54Z</time>
+</trkpt>
+<trkpt lat="51.308829691" lon="12.373433607">
+  <ele>115.014893</ele>
+  <time>2005-05-01T12:36:56Z</time>
+</trkpt>
+<trkpt lat="51.308537414" lon="12.373454561">
+  <ele>115.014893</ele>
+  <time>2005-05-01T12:37:01Z</time>
+</trkpt>
+<trkpt lat="51.307765106" lon="12.373493873">
+  <ele>114.053589</ele>
+  <time>2005-05-01T12:37:12Z</time>
+</trkpt>
+<trkpt lat="51.307177786" lon="12.373572746">
+  <ele>115.976196</ele>
+  <time>2005-05-01T12:37:19Z</time>
+</trkpt>
+<trkpt lat="51.306579737" lon="12.373615913">
+  <ele>115.976196</ele>
+  <time>2005-05-01T12:37:24Z</time>
+</trkpt>
+<trkpt lat="51.305424375" lon="12.373780953">
+  <ele>115.976196</ele>
+  <time>2005-05-01T12:37:34Z</time>
+</trkpt>
+<trkpt lat="51.304718619" lon="12.373947082">
+  <ele>115.014893</ele>
+  <time>2005-05-01T12:37:41Z</time>
+</trkpt>
+<trkpt lat="51.303804237" lon="12.374235000">
+  <ele>114.534180</ele>
+  <time>2005-05-01T12:37:50Z</time>
+</trkpt>
+<trkpt lat="51.303219935" lon="12.374188146">
+  <ele>112.130981</ele>
+  <time>2005-05-01T12:37:55Z</time>
+</trkpt>
+<trkpt lat="51.302673100" lon="12.373870639">
+  <ele>112.130981</ele>
+  <time>2005-05-01T12:38:00Z</time>
+</trkpt>
+<trkpt lat="51.302235313" lon="12.373616416">
+  <ele>109.727661</ele>
+  <time>2005-05-01T12:38:05Z</time>
+</trkpt>
+<trkpt lat="51.301880255" lon="12.373241913">
+  <ele>109.727661</ele>
+  <time>2005-05-01T12:38:11Z</time>
+</trkpt>
+<trkpt lat="51.301778918" lon="12.373095397">
+  <ele>108.766235</ele>
+  <time>2005-05-01T12:38:13Z</time>
+</trkpt>
+<trkpt lat="51.301607508" lon="12.372645875">
+  <ele>110.208252</ele>
+  <time>2005-05-01T12:38:17Z</time>
+</trkpt>
+<trkpt lat="51.301695015" lon="12.372243544">
+  <ele>110.208252</ele>
+  <time>2005-05-01T12:38:20Z</time>
+</trkpt>
+<trkpt lat="51.301793670" lon="12.371789496">
+  <ele>110.208252</ele>
+  <time>2005-05-01T12:38:23Z</time>
+</trkpt>
+<trkpt lat="51.302061556" lon="12.371504344">
+  <ele>111.169556</ele>
+  <time>2005-05-01T12:38:27Z</time>
+</trkpt>
+<trkpt lat="51.302231038" lon="12.371544158">
+  <ele>111.650269</ele>
+  <time>2005-05-01T12:38:30Z</time>
+</trkpt>
+<trkpt lat="51.302424241" lon="12.371706096">
+  <ele>112.611572</ele>
+  <time>2005-05-01T12:38:33Z</time>
+</trkpt>
+<trkpt lat="51.302429689" lon="12.372084456">
+  <ele>112.130981</ele>
+  <time>2005-05-01T12:38:36Z</time>
+</trkpt>
+<trkpt lat="51.302261045" lon="12.372510759">
+  <ele>112.130981</ele>
+  <time>2005-05-01T12:38:39Z</time>
+</trkpt>
+<trkpt lat="51.301613711" lon="12.373789754">
+  <ele>111.650269</ele>
+  <time>2005-05-01T12:38:45Z</time>
+</trkpt>
+<trkpt lat="51.300972831" lon="12.374747219">
+  <ele>110.208252</ele>
+  <time>2005-05-01T12:38:50Z</time>
+</trkpt>
+<trkpt lat="51.300435886" lon="12.375403438">
+  <ele>108.766235</ele>
+  <time>2005-05-01T12:38:54Z</time>
+</trkpt>
+<trkpt lat="51.299649663" lon="12.376034679">
+  <ele>107.324341</ele>
+  <time>2005-05-01T12:38:59Z</time>
+</trkpt>
+<trkpt lat="51.298765792" lon="12.376457797">
+  <ele>106.843628</ele>
+  <time>2005-05-01T12:39:04Z</time>
+</trkpt>
+<trkpt lat="51.297869850" lon="12.376555614">
+  <ele>107.324341</ele>
+  <time>2005-05-01T12:39:09Z</time>
+</trkpt>
+<trkpt lat="51.296875589" lon="12.376642032">
+  <ele>107.805054</ele>
+  <time>2005-05-01T12:39:15Z</time>
+</trkpt>
+<trkpt lat="51.295282273" lon="12.376738004">
+  <ele>107.805054</ele>
+  <time>2005-05-01T12:39:24Z</time>
+</trkpt>
+<trkpt lat="51.293354267" lon="12.377547864">
+  <ele>107.324341</ele>
+  <time>2005-05-01T12:39:35Z</time>
+</trkpt>
+<trkpt lat="51.292248024" lon="12.377894791">
+  <ele>109.727661</ele>
+  <time>2005-05-01T12:39:41Z</time>
+</trkpt>
+<trkpt lat="51.291143456" lon="12.378029823">
+  <ele>110.208252</ele>
+  <time>2005-05-01T12:39:47Z</time>
+</trkpt>
+<trkpt lat="51.289435141" lon="12.378082043">
+  <ele>111.169556</ele>
+  <time>2005-05-01T12:39:56Z</time>
+</trkpt>
+<trkpt lat="51.287278561" lon="12.378541203">
+  <ele>111.650269</ele>
+  <time>2005-05-01T12:40:07Z</time>
+</trkpt>
+<trkpt lat="51.286388403" lon="12.379174121">
+  <ele>113.092285</ele>
+  <time>2005-05-01T12:40:12Z</time>
+</trkpt>
+<trkpt lat="51.285051489" lon="12.380287237">
+  <ele>115.014893</ele>
+  <time>2005-05-01T12:40:20Z</time>
+</trkpt>
+<trkpt lat="51.283431267" lon="12.381712999">
+  <ele>115.976196</ele>
+  <time>2005-05-01T12:40:30Z</time>
+</trkpt>
+<trkpt lat="51.282191919" lon="12.382656299">
+  <ele>114.534180</ele>
+  <time>2005-05-01T12:40:38Z</time>
+</trkpt>
+<trkpt lat="51.281269155" lon="12.383118058">
+  <ele>113.092285</ele>
+  <time>2005-05-01T12:40:43Z</time>
+</trkpt>
+<trkpt lat="51.280317139" lon="12.383292066">
+  <ele>112.130981</ele>
+  <time>2005-05-01T12:40:48Z</time>
+</trkpt>
+<trkpt lat="51.278896071" lon="12.383407820">
+  <ele>112.130981</ele>
+  <time>2005-05-01T12:40:55Z</time>
+</trkpt>
+<trkpt lat="51.277380958" lon="12.383365408">
+  <ele>112.611572</ele>
+  <time>2005-05-01T12:41:02Z</time>
+</trkpt>
+<trkpt lat="51.275953520" lon="12.383135911">
+  <ele>111.169556</ele>
+  <time>2005-05-01T12:41:08Z</time>
+</trkpt>
+<trkpt lat="51.274601771" lon="12.382788733">
+  <ele>109.727661</ele>
+  <time>2005-05-01T12:41:14Z</time>
+</trkpt>
+<trkpt lat="51.272712070" lon="12.382216668">
+  <ele>109.246948</ele>
+  <time>2005-05-01T12:41:23Z</time>
+</trkpt>
+<trkpt lat="51.271982174" lon="12.381995637">
+  <ele>109.246948</ele>
+  <time>2005-05-01T12:41:26Z</time>
+</trkpt>
+<trkpt lat="51.270829244" lon="12.381646615">
+  <ele>110.208252</ele>
+  <time>2005-05-01T12:41:31Z</time>
+</trkpt>
+<trkpt lat="51.269813776" lon="12.381455004">
+  <ele>110.208252</ele>
+  <time>2005-05-01T12:41:36Z</time>
+</trkpt>
+<trkpt lat="51.268268740" lon="12.381314524">
+  <ele>110.688843</ele>
+  <time>2005-05-01T12:41:44Z</time>
+</trkpt>
+<trkpt lat="51.266803499" lon="12.381362049">
+  <ele>111.650269</ele>
+  <time>2005-05-01T12:41:51Z</time>
+</trkpt>
+<trkpt lat="51.265298612" lon="12.381626582">
+  <ele>112.130981</ele>
+  <time>2005-05-01T12:41:58Z</time>
+</trkpt>
+<trkpt lat="51.263810322" lon="12.382035116">
+  <ele>112.130981</ele>
+  <time>2005-05-01T12:42:05Z</time>
+</trkpt>
+<trkpt lat="51.262919744" lon="12.382296547">
+  <ele>112.130981</ele>
+  <time>2005-05-01T12:42:10Z</time>
+</trkpt>
+<trkpt lat="51.261108080" lon="12.382890405">
+  <ele>112.611572</ele>
+  <time>2005-05-01T12:42:21Z</time>
+</trkpt>
+<trkpt lat="51.260602148" lon="12.383055026">
+  <ele>112.611572</ele>
+  <time>2005-05-01T12:42:25Z</time>
+</trkpt>
+<trkpt lat="51.259785332" lon="12.383259293">
+  <ele>113.092285</ele>
+  <time>2005-05-01T12:42:31Z</time>
+</trkpt>
+<trkpt lat="51.258474989" lon="12.383583924">
+  <ele>113.092285</ele>
+  <time>2005-05-01T12:42:40Z</time>
+</trkpt>
+<trkpt lat="51.256355206" lon="12.384040151">
+  <ele>113.092285</ele>
+  <time>2005-05-01T12:42:54Z</time>
+</trkpt>
+<trkpt lat="51.254621074" lon="12.384376433">
+  <ele>113.092285</ele>
+  <time>2005-05-01T12:43:05Z</time>
+</trkpt>
+<trkpt lat="51.252992805" lon="12.384617664">
+  <ele>113.092285</ele>
+  <time>2005-05-01T12:43:15Z</time>
+</trkpt>
+<trkpt lat="51.251785057" lon="12.384838695">
+  <ele>113.092285</ele>
+  <time>2005-05-01T12:43:22Z</time>
+</trkpt>
+<trkpt lat="51.250455519" lon="12.385138683">
+  <ele>113.092285</ele>
+  <time>2005-05-01T12:43:29Z</time>
+</trkpt>
+<trkpt lat="51.248744437" lon="12.385717705">
+  <ele>114.053589</ele>
+  <time>2005-05-01T12:43:38Z</time>
+</trkpt>
+<trkpt lat="51.247352455" lon="12.386270240">
+  <ele>114.534180</ele>
+  <time>2005-05-01T12:43:46Z</time>
+</trkpt>
+<trkpt lat="51.245661741" lon="12.387032323">
+  <ele>115.976196</ele>
+  <time>2005-05-01T12:43:56Z</time>
+</trkpt>
+<trkpt lat="51.243782602" lon="12.387761800">
+  <ele>117.418213</ele>
+  <time>2005-05-01T12:44:06Z</time>
+</trkpt>
+<trkpt lat="51.242045704" lon="12.388333865">
+  <ele>116.456787</ele>
+  <time>2005-05-01T12:44:15Z</time>
+</trkpt>
+<trkpt lat="51.240936611" lon="12.388480380">
+  <ele>116.937500</ele>
+  <time>2005-05-01T12:44:21Z</time>
+</trkpt>
+<trkpt lat="51.240352811" lon="12.388557494">
+  <ele>116.937500</ele>
+  <time>2005-05-01T12:44:25Z</time>
+</trkpt>
+<trkpt lat="51.239316640" lon="12.388623292">
+  <ele>116.456787</ele>
+  <time>2005-05-01T12:44:32Z</time>
+</trkpt>
+<trkpt lat="51.238275860" lon="12.388609042">
+  <ele>116.937500</ele>
+  <time>2005-05-01T12:44:39Z</time>
+</trkpt>
+<trkpt lat="51.236879267" lon="12.388589932">
+  <ele>116.937500</ele>
+  <time>2005-05-01T12:44:49Z</time>
+</trkpt>
+<trkpt lat="51.235378319" lon="12.388569312">
+  <ele>116.937500</ele>
+  <time>2005-05-01T12:44:59Z</time>
+</trkpt>
+<trkpt lat="51.232896354" lon="12.388522709">
+  <ele>117.418213</ele>
+  <time>2005-05-01T12:45:15Z</time>
+</trkpt>
+<trkpt lat="51.231191140" lon="12.388352389">
+  <ele>118.379395</ele>
+  <time>2005-05-01T12:45:26Z</time>
+</trkpt>
+<trkpt lat="51.230276339" lon="12.388223978">
+  <ele>119.821411</ele>
+  <time>2005-05-01T12:45:32Z</time>
+</trkpt>
+<trkpt lat="51.229241258" lon="12.388077294">
+  <ele>120.302124</ele>
+  <time>2005-05-01T12:45:38Z</time>
+</trkpt>
+<trkpt lat="51.228004927" lon="12.387977634">
+  <ele>120.302124</ele>
+  <time>2005-05-01T12:45:44Z</time>
+</trkpt>
+<trkpt lat="51.224022685" lon="12.387749059">
+  <ele>122.705444</ele>
+  <time>2005-05-01T12:46:02Z</time>
+</trkpt>
+<trkpt lat="51.222414868" lon="12.387670353">
+  <ele>122.224731</ele>
+  <time>2005-05-01T12:46:09Z</time>
+</trkpt>
+<trkpt lat="51.220606556" lon="12.387599945">
+  <ele>122.224731</ele>
+  <time>2005-05-01T12:46:17Z</time>
+</trkpt>
+<trkpt lat="51.219224548" lon="12.387599945">
+  <ele>122.224731</ele>
+  <time>2005-05-01T12:46:23Z</time>
+</trkpt>
+<trkpt lat="51.217834577" lon="12.387870932">
+  <ele>122.705444</ele>
+  <time>2005-05-01T12:46:29Z</time>
+</trkpt>
+<trkpt lat="51.216718359" lon="12.388320705">
+  <ele>122.705444</ele>
+  <time>2005-05-01T12:46:34Z</time>
+</trkpt>
+<trkpt lat="51.215443304" lon="12.389137270">
+  <ele>123.666748</ele>
+  <time>2005-05-01T12:46:40Z</time>
+</trkpt>
+<trkpt lat="51.214414677" lon="12.390030697">
+  <ele>124.628052</ele>
+  <time>2005-05-01T12:46:45Z</time>
+</trkpt>
+<trkpt lat="51.213470623" lon="12.391125038">
+  <ele>123.186157</ele>
+  <time>2005-05-01T12:46:50Z</time>
+</trkpt>
+<trkpt lat="51.212630840" lon="12.392336056">
+  <ele>121.744141</ele>
+  <time>2005-05-01T12:46:55Z</time>
+</trkpt>
+<trkpt lat="51.211786279" lon="12.393923169">
+  <ele>121.744141</ele>
+  <time>2005-05-01T12:47:01Z</time>
+</trkpt>
+<trkpt lat="51.211033501" lon="12.395702731">
+  <ele>122.705444</ele>
+  <time>2005-05-01T12:47:07Z</time>
+</trkpt>
+<trkpt lat="51.209977549" lon="12.398559870">
+  <ele>120.782837</ele>
+  <time>2005-05-01T12:47:16Z</time>
+</trkpt>
+<trkpt lat="51.208374342" lon="12.403025916">
+  <ele>121.744141</ele>
+  <time>2005-05-01T12:47:30Z</time>
+</trkpt>
+<trkpt lat="51.207282264" lon="12.406068128">
+  <ele>122.705444</ele>
+  <time>2005-05-01T12:47:39Z</time>
+</trkpt>
+<trkpt lat="51.206216924" lon="12.409035908">
+  <ele>119.821411</ele>
+  <time>2005-05-01T12:47:48Z</time>
+</trkpt>
+<trkpt lat="51.205104562" lon="12.411980303">
+  <ele>122.705444</ele>
+  <time>2005-05-01T12:47:57Z</time>
+</trkpt>
+<trkpt lat="51.204077611" lon="12.414439805">
+  <ele>128.473389</ele>
+  <time>2005-05-01T12:48:05Z</time>
+</trkpt>
+<trkpt lat="51.203043535" lon="12.416666877">
+  <ele>133.760498</ele>
+  <time>2005-05-01T12:48:13Z</time>
+</trkpt>
+<trkpt lat="51.201778539" lon="12.419291167">
+  <ele>138.567261</ele>
+  <time>2005-05-01T12:48:23Z</time>
+</trkpt>
+<trkpt lat="51.200524941" lon="12.422075970">
+  <ele>142.893066</ele>
+  <time>2005-05-01T12:48:33Z</time>
+</trkpt>
+<trkpt lat="51.200068630" lon="12.423662078">
+  <ele>143.373657</ele>
+  <time>2005-05-01T12:48:38Z</time>
+</trkpt>
+<trkpt lat="51.199553646" lon="12.425974812">
+  <ele>142.893066</ele>
+  <time>2005-05-01T12:48:45Z</time>
+</trkpt>
+<trkpt lat="51.198894326" lon="12.428777218">
+  <ele>141.451050</ele>
+  <time>2005-05-01T12:48:53Z</time>
+</trkpt>
+<trkpt lat="51.197939795" lon="12.432205165">
+  <ele>137.605835</ele>
+  <time>2005-05-01T12:49:03Z</time>
+</trkpt>
+<trkpt lat="51.197100850" lon="12.435141345">
+  <ele>136.644653</ele>
+  <time>2005-05-01T12:49:12Z</time>
+</trkpt>
+<trkpt lat="51.196409259" lon="12.437859345">
+  <ele>136.644653</ele>
+  <time>2005-05-01T12:49:20Z</time>
+</trkpt>
+<trkpt lat="51.196127124" lon="12.439668579">
+  <ele>135.683105</ele>
+  <time>2005-05-01T12:49:25Z</time>
+</trkpt>
+<trkpt lat="51.196040036" lon="12.441139519">
+  <ele>135.683105</ele>
+  <time>2005-05-01T12:49:29Z</time>
+</trkpt>
+<trkpt lat="51.196112875" lon="12.442969624">
+  <ele>136.644653</ele>
+  <time>2005-05-01T12:49:34Z</time>
+</trkpt>
+<trkpt lat="51.196292918" lon="12.445424851">
+  <ele>137.605835</ele>
+  <time>2005-05-01T12:49:41Z</time>
+</trkpt>
+<trkpt lat="51.196520487" lon="12.448528334">
+  <ele>138.567261</ele>
+  <time>2005-05-01T12:49:50Z</time>
+</trkpt>
+<trkpt lat="51.196488803" lon="12.450274704">
+  <ele>139.528442</ele>
+  <time>2005-05-01T12:49:55Z</time>
+</trkpt>
+<trkpt lat="51.196239442" lon="12.451724522">
+  <ele>140.489868</ele>
+  <time>2005-05-01T12:49:59Z</time>
+</trkpt>
+<trkpt lat="51.195870889" lon="12.453508610">
+  <ele>141.451050</ele>
+  <time>2005-05-01T12:50:04Z</time>
+</trkpt>
+<trkpt lat="51.195342578" lon="12.456192663">
+  <ele>142.412476</ele>
+  <time>2005-05-01T12:50:12Z</time>
+</trkpt>
+<trkpt lat="51.195088355" lon="12.457637871">
+  <ele>142.412476</ele>
+  <time>2005-05-01T12:50:17Z</time>
+</trkpt>
+<trkpt lat="51.194671858" lon="12.460047500">
+  <ele>142.412476</ele>
+  <time>2005-05-01T12:50:26Z</time>
+</trkpt>
+<trkpt lat="51.194224348" lon="12.461838713">
+  <ele>142.412476</ele>
+  <time>2005-05-01T12:50:33Z</time>
+</trkpt>
+<trkpt lat="51.193784047" lon="12.463115109">
+  <ele>142.412476</ele>
+  <time>2005-05-01T12:50:39Z</time>
+</trkpt>
+<trkpt lat="51.193223381" lon="12.464642376">
+  <ele>143.373657</ele>
+  <time>2005-05-01T12:50:47Z</time>
+</trkpt>
+<trkpt lat="51.192593146" lon="12.466349099">
+  <ele>144.335205</ele>
+  <time>2005-05-01T12:50:55Z</time>
+</trkpt>
+<trkpt lat="51.192063829" lon="12.467679055">
+  <ele>145.296387</ele>
+  <time>2005-05-01T12:51:02Z</time>
+</trkpt>
+<trkpt lat="51.191290766" lon="12.469518464">
+  <ele>145.777100</ele>
+  <time>2005-05-01T12:51:11Z</time>
+</trkpt>
+<trkpt lat="51.190512674" lon="12.471314287">
+  <ele>145.777100</ele>
+  <time>2005-05-01T12:51:19Z</time>
+</trkpt>
+<trkpt lat="51.189762075" lon="12.473023441">
+  <ele>146.257812</ele>
+  <time>2005-05-01T12:51:27Z</time>
+</trkpt>
+<trkpt lat="51.188806454" lon="12.475199383">
+  <ele>146.257812</ele>
+  <time>2005-05-01T12:51:37Z</time>
+</trkpt>
+<trkpt lat="51.188314352" lon="12.476319708">
+  <ele>147.218994</ele>
+  <time>2005-05-01T12:51:43Z</time>
+</trkpt>
+<trkpt lat="51.187722674" lon="12.477363925">
+  <ele>148.661011</ele>
+  <time>2005-05-01T12:51:49Z</time>
+</trkpt>
+<trkpt lat="51.187217999" lon="12.477956694">
+  <ele>149.622314</ele>
+  <time>2005-05-01T12:51:53Z</time>
+</trkpt>
+<trkpt lat="51.186295068" lon="12.478688685">
+  <ele>151.544922</ele>
+  <time>2005-05-01T12:51:59Z</time>
+</trkpt>
+<trkpt lat="51.185200140" lon="12.479604157">
+  <ele>153.467651</ele>
+  <time>2005-05-01T12:52:06Z</time>
+</trkpt>
+<trkpt lat="51.184551381" lon="12.480150405">
+  <ele>154.909546</ele>
+  <time>2005-05-01T12:52:11Z</time>
+</trkpt>
+<trkpt lat="51.183877392" lon="12.480718028">
+  <ele>155.870972</ele>
+  <time>2005-05-01T12:52:17Z</time>
+</trkpt>
+<trkpt lat="51.183198458" lon="12.481289757">
+  <ele>156.832153</ele>
+  <time>2005-05-01T12:52:22Z</time>
+</trkpt>
+<trkpt lat="51.182126245" lon="12.482213778">
+  <ele>158.274170</ele>
+  <time>2005-05-01T12:52:29Z</time>
+</trkpt>
+<trkpt lat="51.181135587" lon="12.483058590">
+  <ele>159.716187</ele>
+  <time>2005-05-01T12:52:36Z</time>
+</trkpt>
+<trkpt lat="51.180110984" lon="12.483932571">
+  <ele>159.235474</ele>
+  <time>2005-05-01T12:52:43Z</time>
+</trkpt>
+<trkpt lat="51.178617328" lon="12.485278370">
+  <ele>158.754761</ele>
+  <time>2005-05-01T12:52:52Z</time>
+</trkpt>
+<trkpt lat="51.177109759" lon="12.486648811">
+  <ele>158.274170</ele>
+  <time>2005-05-01T12:53:01Z</time>
+</trkpt>
+<trkpt lat="51.175434804" lon="12.488199463">
+  <ele>156.351562</ele>
+  <time>2005-05-01T12:53:11Z</time>
+</trkpt>
+<trkpt lat="51.174714211" lon="12.488884013">
+  <ele>156.351562</ele>
+  <time>2005-05-01T12:53:16Z</time>
+</trkpt>
+<trkpt lat="51.173363468" lon="12.490121434">
+  <ele>154.909546</ele>
+  <time>2005-05-01T12:53:25Z</time>
+</trkpt>
+<trkpt lat="51.171847768" lon="12.491529090">
+  <ele>154.428955</ele>
+  <time>2005-05-01T12:53:34Z</time>
+</trkpt>
+<trkpt lat="51.170087401" lon="12.493157275">
+  <ele>153.948364</ele>
+  <time>2005-05-01T12:53:44Z</time>
+</trkpt>
+<trkpt lat="51.168092340" lon="12.495011268">
+  <ele>152.986938</ele>
+  <time>2005-05-01T12:53:55Z</time>
+</trkpt>
+<trkpt lat="51.166755259" lon="12.496253802">
+  <ele>152.025757</ele>
+  <time>2005-05-01T12:54:02Z</time>
+</trkpt>
+<trkpt lat="51.165286247" lon="12.497618962">
+  <ele>151.544922</ele>
+  <time>2005-05-01T12:54:09Z</time>
+</trkpt>
+<trkpt lat="51.163886888" lon="12.498919331">
+  <ele>152.025757</ele>
+  <time>2005-05-01T12:54:16Z</time>
+</trkpt>
+<trkpt lat="51.161947567" lon="12.500743568">
+  <ele>151.064209</ele>
+  <time>2005-05-01T12:54:26Z</time>
+</trkpt>
+<trkpt lat="51.159813954" lon="12.502865447">
+  <ele>149.622314</ele>
+  <time>2005-05-01T12:54:37Z</time>
+</trkpt>
+<trkpt lat="51.158121899" lon="12.504698904">
+  <ele>147.218994</ele>
+  <time>2005-05-01T12:54:46Z</time>
+</trkpt>
+<trkpt lat="51.156356838" lon="12.506796811">
+  <ele>144.815796</ele>
+  <time>2005-05-01T12:54:56Z</time>
+</trkpt>
+<trkpt lat="51.155667091" lon="12.507464178">
+  <ele>143.854370</ele>
+  <time>2005-05-01T12:55:00Z</time>
+</trkpt>
+<trkpt lat="51.155065941" lon="12.507857624">
+  <ele>143.373657</ele>
+  <time>2005-05-01T12:55:04Z</time>
+</trkpt>
+<trkpt lat="51.154281981" lon="12.508144956">
+  <ele>143.373657</ele>
+  <time>2005-05-01T12:55:10Z</time>
+</trkpt>
+<trkpt lat="51.153399115" lon="12.508439999">
+  <ele>143.373657</ele>
+  <time>2005-05-01T12:55:16Z</time>
+</trkpt>
+<trkpt lat="51.152456068" lon="12.508718614">
+  <ele>142.412476</ele>
+  <time>2005-05-01T12:55:22Z</time>
+</trkpt>
+<trkpt lat="51.151851062" lon="12.508905781">
+  <ele>141.451050</ele>
+  <time>2005-05-01T12:55:27Z</time>
+</trkpt>
+<trkpt lat="51.151153436" lon="12.509147599">
+  <ele>139.047852</ele>
+  <time>2005-05-01T12:55:32Z</time>
+</trkpt>
+<trkpt lat="51.150124976" lon="12.509460496">
+  <ele>135.202515</ele>
+  <time>2005-05-01T12:55:38Z</time>
+</trkpt>
+<trkpt lat="51.149013871" lon="12.509648586">
+  <ele>133.279907</ele>
+  <time>2005-05-01T12:55:44Z</time>
+</trkpt>
+<trkpt lat="51.147941910" lon="12.509694099">
+  <ele>133.760498</ele>
+  <time>2005-05-01T12:55:50Z</time>
+</trkpt>
+<trkpt lat="51.146997940" lon="12.509720502">
+  <ele>134.241211</ele>
+  <time>2005-05-01T12:55:56Z</time>
+</trkpt>
+<trkpt lat="51.145366989" lon="12.509867605">
+  <ele>137.125244</ele>
+  <time>2005-05-01T12:56:06Z</time>
+</trkpt>
+<trkpt lat="51.143803596" lon="12.509994507">
+  <ele>140.489868</ele>
+  <time>2005-05-01T12:56:15Z</time>
+</trkpt>
+<trkpt lat="51.142645301" lon="12.510077152">
+  <ele>142.893066</ele>
+  <time>2005-05-01T12:56:22Z</time>
+</trkpt>
+<trkpt lat="51.141022984" lon="12.510028537">
+  <ele>144.815796</ele>
+  <time>2005-05-01T12:56:31Z</time>
+</trkpt>
+<trkpt lat="51.140067028" lon="12.509916974">
+  <ele>146.738403</ele>
+  <time>2005-05-01T12:56:37Z</time>
+</trkpt>
+<trkpt lat="51.139421873" lon="12.509841789">
+  <ele>148.180420</ele>
+  <time>2005-05-01T12:56:42Z</time>
+</trkpt>
+<trkpt lat="51.138620898" lon="12.509748247">
+  <ele>149.141602</ele>
+  <time>2005-05-01T12:56:49Z</time>
+</trkpt>
+<trkpt lat="51.137986975" lon="12.509547248">
+  <ele>150.583618</ele>
+  <time>2005-05-01T12:56:55Z</time>
+</trkpt>
+<trkpt lat="51.137719508" lon="12.509431746">
+  <ele>151.064209</ele>
+  <time>2005-05-01T12:56:59Z</time>
+</trkpt>
+<trkpt lat="51.137502668" lon="12.509295205">
+  <ele>151.064209</ele>
+  <time>2005-05-01T12:57:03Z</time>
+</trkpt>
+<trkpt lat="51.137388591" lon="12.509223372">
+  <ele>151.064209</ele>
+  <time>2005-05-01T12:57:05Z</time>
+</trkpt>
+<trkpt lat="51.136939069" lon="12.508940399">
+  <ele>150.103027</ele>
+  <time>2005-05-01T12:57:10Z</time>
+</trkpt>
+<trkpt lat="51.136816945" lon="12.508863453">
+  <ele>149.622314</ele>
+  <time>2005-05-01T12:57:11Z</time>
+</trkpt>
+<trkpt lat="51.136083445" lon="12.508371435">
+  <ele>150.103027</ele>
+  <time>2005-05-01T12:57:16Z</time>
+</trkpt>
+<trkpt lat="51.135500399" lon="12.507978240">
+  <ele>150.583618</ele>
+  <time>2005-05-01T12:57:20Z</time>
+</trkpt>
+<trkpt lat="51.134405890" lon="12.507248512">
+  <ele>151.064209</ele>
+  <time>2005-05-01T12:57:29Z</time>
+</trkpt>
+<trkpt lat="51.133261845" lon="12.506474191">
+  <ele>151.544922</ele>
+  <time>2005-05-01T12:57:39Z</time>
+</trkpt>
+<trkpt lat="51.132452656" lon="12.505994579">
+  <ele>152.025757</ele>
+  <time>2005-05-01T12:57:46Z</time>
+</trkpt>
+<trkpt lat="51.131515307" lon="12.505628373">
+  <ele>152.986938</ele>
+  <time>2005-05-01T12:57:53Z</time>
+</trkpt>
+<trkpt lat="51.130320719" lon="12.505173404">
+  <ele>154.428955</ele>
+  <time>2005-05-01T12:58:02Z</time>
+</trkpt>
+<trkpt lat="51.129691824" lon="12.504971484">
+  <ele>154.428955</ele>
+  <time>2005-05-01T12:58:08Z</time>
+</trkpt>
+<trkpt lat="51.128942482" lon="12.504713070">
+  <ele>154.428955</ele>
+  <time>2005-05-01T12:58:15Z</time>
+</trkpt>
+<trkpt lat="51.128218202" lon="12.504499163">
+  <ele>154.909546</ele>
+  <time>2005-05-01T12:58:22Z</time>
+</trkpt>
+<trkpt lat="51.126927221" lon="12.501780912">
+  <ele>147.699707</ele>
+  <time>2005-05-01T12:59:26Z</time>
+</trkpt>
+<trkpt lat="51.126563950" lon="12.500632843">
+  <ele>141.931763</ele>
+  <time>2005-05-01T12:59:35Z</time>
+</trkpt>
+<trkpt lat="51.126296567" lon="12.499782583">
+  <ele>139.047852</ele>
+  <time>2005-05-01T12:59:41Z</time>
+</trkpt>
+<trkpt lat="51.126136808" lon="12.498737443">
+  <ele>137.125244</ele>
+  <time>2005-05-01T12:59:47Z</time>
+</trkpt>
+<trkpt lat="51.126010995" lon="12.497445205">
+  <ele>132.799316</ele>
+  <time>2005-05-01T12:59:54Z</time>
+</trkpt>
+<trkpt lat="51.125777727" lon="12.495878628">
+  <ele>130.876709</ele>
+  <time>2005-05-01T13:00:02Z</time>
+</trkpt>
+<trkpt lat="51.125455359" lon="12.494621174">
+  <ele>129.915283</ele>
+  <time>2005-05-01T13:00:08Z</time>
+</trkpt>
+<trkpt lat="51.125054872" lon="12.493516440">
+  <ele>129.915283</ele>
+  <time>2005-05-01T13:00:14Z</time>
+</trkpt>
+<trkpt lat="51.124459086" lon="12.492244737">
+  <ele>129.915283</ele>
+  <time>2005-05-01T13:00:22Z</time>
+</trkpt>
+<trkpt lat="51.123823319" lon="12.491210913">
+  <ele>129.915283</ele>
+  <time>2005-05-01T13:00:29Z</time>
+</trkpt>
+<trkpt lat="51.122809025" lon="12.489965027">
+  <ele>131.357300</ele>
+  <time>2005-05-01T13:00:39Z</time>
+</trkpt>
+<trkpt lat="51.122452710" lon="12.489511566">
+  <ele>132.318604</ele>
+  <time>2005-05-01T13:00:44Z</time>
+</trkpt>
+<trkpt lat="51.122008134" lon="12.488997420">
+  <ele>132.799316</ele>
+  <time>2005-05-01T13:00:49Z</time>
+</trkpt>
+<trkpt lat="51.121413438" lon="12.488363162">
+  <ele>133.760498</ele>
+  <time>2005-05-01T13:00:55Z</time>
+</trkpt>
+<trkpt lat="51.121045137" lon="12.487970386">
+  <ele>134.721924</ele>
+  <time>2005-05-01T13:00:59Z</time>
+</trkpt>
+<trkpt lat="51.120772138" lon="12.487389604">
+  <ele>135.683105</ele>
+  <time>2005-05-01T13:01:03Z</time>
+</trkpt>
+<trkpt lat="51.120718159" lon="12.487204615">
+  <ele>135.202515</ele>
+  <time>2005-05-01T13:01:04Z</time>
+</trkpt>
+<trkpt lat="51.120288922" lon="12.485627308">
+  <ele>135.202515</ele>
+  <time>2005-05-01T13:01:13Z</time>
+</trkpt>
+<trkpt lat="51.119703613" lon="12.484282097">
+  <ele>132.318604</ele>
+  <time>2005-05-01T13:01:22Z</time>
+</trkpt>
+<trkpt lat="51.119348388" lon="12.484006165">
+  <ele>133.760498</ele>
+  <time>2005-05-01T13:01:26Z</time>
+</trkpt>
+<trkpt lat="51.119055441" lon="12.484073890">
+  <ele>135.683105</ele>
+  <time>2005-05-01T13:01:29Z</time>
+</trkpt>
+<trkpt lat="51.118860058" lon="12.484183442">
+  <ele>137.125244</ele>
+  <time>2005-05-01T13:01:31Z</time>
+</trkpt>
+<trkpt lat="51.117903683" lon="12.484869836">
+  <ele>139.528442</ele>
+  <time>2005-05-01T13:01:40Z</time>
+</trkpt>
+<trkpt lat="51.117416862" lon="12.485223971">
+  <ele>140.009155</ele>
+  <time>2005-05-01T13:01:43Z</time>
+</trkpt>
+<trkpt lat="51.116747735" lon="12.485752869">
+  <ele>140.970459</ele>
+  <time>2005-05-01T13:01:47Z</time>
+</trkpt>
+<trkpt lat="51.116266195" lon="12.486159140">
+  <ele>140.970459</ele>
+  <time>2005-05-01T13:01:51Z</time>
+</trkpt>
+<trkpt lat="51.115428926" lon="12.486875206">
+  <ele>141.931763</ele>
+  <time>2005-05-01T13:01:58Z</time>
+</trkpt>
+<trkpt lat="51.114630885" lon="12.487563612">
+  <ele>142.412476</ele>
+  <time>2005-05-01T13:02:04Z</time>
+</trkpt>
+<trkpt lat="51.113715330" lon="12.488245815">
+  <ele>142.412476</ele>
+  <time>2005-05-01T13:02:11Z</time>
+</trkpt>
+<trkpt lat="51.113329679" lon="12.488533147">
+  <ele>142.893066</ele>
+  <time>2005-05-01T13:02:15Z</time>
+</trkpt>
+<trkpt lat="51.113011250" lon="12.488770355">
+  <ele>143.373657</ele>
+  <time>2005-05-01T13:02:20Z</time>
+</trkpt>
+<trkpt lat="51.112756860" lon="12.488959953">
+  <ele>143.373657</ele>
+  <time>2005-05-01T13:02:32Z</time>
+</trkpt>
+<trkpt lat="51.112484364" lon="12.489174530">
+  <ele>143.373657</ele>
+  <time>2005-05-01T13:02:36Z</time>
+</trkpt>
+<trkpt lat="51.112118913" lon="12.489573341">
+  <ele>143.854370</ele>
+  <time>2005-05-01T13:02:40Z</time>
+</trkpt>
+<trkpt lat="51.111563109" lon="12.490288485">
+  <ele>144.815796</ele>
+  <time>2005-05-01T13:02:46Z</time>
+</trkpt>
+<trkpt lat="51.110973358" lon="12.490983009">
+  <ele>147.699707</ele>
+  <time>2005-05-01T13:02:52Z</time>
+</trkpt>
+<trkpt lat="51.110595837" lon="12.491135811">
+  <ele>146.738403</ele>
+  <time>2005-05-01T13:02:56Z</time>
+</trkpt>
+<trkpt lat="51.110462397" lon="12.491162550">
+  <ele>146.257812</ele>
+  <time>2005-05-01T13:02:57Z</time>
+</trkpt>
+<trkpt lat="51.109655974" lon="12.491087699">
+  <ele>145.777100</ele>
+  <time>2005-05-01T13:03:02Z</time>
+</trkpt>
+<trkpt lat="51.108828513" lon="12.490816461">
+  <ele>145.296387</ele>
+  <time>2005-05-01T13:03:07Z</time>
+</trkpt>
+<trkpt lat="51.108126529" lon="12.490336429">
+  <ele>146.738403</ele>
+  <time>2005-05-01T13:03:11Z</time>
+</trkpt>
+<trkpt lat="51.107418928" lon="12.489673169">
+  <ele>147.699707</ele>
+  <time>2005-05-01T13:03:15Z</time>
+</trkpt>
+<trkpt lat="51.106802104" lon="12.488876805">
+  <ele>148.661011</ele>
+  <time>2005-05-01T13:03:18Z</time>
+</trkpt>
+<trkpt lat="51.106064161" lon="12.487843735">
+  <ele>150.103027</ele>
+  <time>2005-05-01T13:03:22Z</time>
+</trkpt>
+<trkpt lat="51.105286237" lon="12.486754507">
+  <ele>152.506348</ele>
+  <time>2005-05-01T13:03:27Z</time>
+</trkpt>
+<trkpt lat="51.104614260" lon="12.485813890">
+  <ele>154.909546</ele>
+  <time>2005-05-01T13:03:32Z</time>
+</trkpt>
+<trkpt lat="51.103613628" lon="12.484413022">
+  <ele>156.832153</ele>
+  <time>2005-05-01T13:03:39Z</time>
+</trkpt>
+<trkpt lat="51.102730175" lon="12.483015591">
+  <ele>157.312866</ele>
+  <time>2005-05-01T13:03:45Z</time>
+</trkpt>
+<trkpt lat="51.102083009" lon="12.481607767">
+  <ele>157.793579</ele>
+  <time>2005-05-01T13:03:50Z</time>
+</trkpt>
+<trkpt lat="51.101308605" lon="12.479854608">
+  <ele>157.793579</ele>
+  <time>2005-05-01T13:03:56Z</time>
+</trkpt>
+<trkpt lat="51.100643501" lon="12.478884403">
+  <ele>158.274170</ele>
+  <time>2005-05-01T13:04:00Z</time>
+</trkpt>
+<trkpt lat="51.099900780" lon="12.478089547">
+  <ele>158.274170</ele>
+  <time>2005-05-01T13:04:04Z</time>
+</trkpt>
+<trkpt lat="51.098870561" lon="12.477300307">
+  <ele>159.235474</ele>
+  <time>2005-05-01T13:04:09Z</time>
+</trkpt>
+<trkpt lat="51.096908022" lon="12.476012846">
+  <ele>162.119507</ele>
+  <time>2005-05-01T13:04:18Z</time>
+</trkpt>
+<trkpt lat="51.095260559" lon="12.474914482">
+  <ele>164.042114</ele>
+  <time>2005-05-01T13:04:26Z</time>
+</trkpt>
+<trkpt lat="51.094262023" lon="12.474181987">
+  <ele>165.003418</ele>
+  <time>2005-05-01T13:04:31Z</time>
+</trkpt>
+<trkpt lat="51.093450906" lon="12.473202059">
+  <ele>165.003418</ele>
+  <time>2005-05-01T13:04:36Z</time>
+</trkpt>
+<trkpt lat="51.092601148" lon="12.472367221">
+  <ele>164.042114</ele>
+  <time>2005-05-01T13:04:41Z</time>
+</trkpt>
+<trkpt lat="51.091845855" lon="12.471776130">
+  <ele>163.080811</ele>
+  <time>2005-05-01T13:04:46Z</time>
+</trkpt>
+<trkpt lat="51.091075223" lon="12.471173052">
+  <ele>162.119507</ele>
+  <time>2005-05-01T13:04:52Z</time>
+</trkpt>
+<trkpt lat="51.090209624" lon="12.470464027">
+  <ele>162.600098</ele>
+  <time>2005-05-01T13:04:58Z</time>
+</trkpt>
+<trkpt lat="51.089250315" lon="12.469753576">
+  <ele>163.561523</ele>
+  <time>2005-05-01T13:05:04Z</time>
+</trkpt>
+<trkpt lat="51.088361666" lon="12.469259547">
+  <ele>162.600098</ele>
+  <time>2005-05-01T13:05:09Z</time>
+</trkpt>
+<trkpt lat="51.087185182" lon="12.468658732">
+  <ele>161.638916</ele>
+  <time>2005-05-01T13:05:16Z</time>
+</trkpt>
+<trkpt lat="51.086085979" lon="12.468259502">
+  <ele>160.196899</ele>
+  <time>2005-05-01T13:05:22Z</time>
+</trkpt>
+<trkpt lat="51.084525520" lon="12.467665058">
+  <ele>156.832153</ele>
+  <time>2005-05-01T13:05:30Z</time>
+</trkpt>
+<trkpt lat="51.083596721" lon="12.466995595">
+  <ele>152.506348</ele>
+  <time>2005-05-01T13:05:35Z</time>
+</trkpt>
+<trkpt lat="51.081698723" lon="12.465616269">
+  <ele>155.390259</ele>
+  <time>2005-05-01T13:05:45Z</time>
+</trkpt>
+<trkpt lat="51.081366129" lon="12.465426251">
+  <ele>156.351562</ele>
+  <time>2005-05-01T13:05:47Z</time>
+</trkpt>
+<trkpt lat="51.080428362" lon="12.465113858">
+  <ele>155.870972</ele>
+  <time>2005-05-01T13:05:53Z</time>
+</trkpt>
+<trkpt lat="51.079192702" lon="12.464816468">
+  <ele>152.025757</ele>
+  <time>2005-05-01T13:06:00Z</time>
+</trkpt>
+<trkpt lat="51.077971878" lon="12.464534920">
+  <ele>149.622314</ele>
+  <time>2005-05-01T13:06:07Z</time>
+</trkpt>
+<trkpt lat="51.076899748" lon="12.464253288">
+  <ele>147.699707</ele>
+  <time>2005-05-01T13:06:14Z</time>
+</trkpt>
+<trkpt lat="51.075751763" lon="12.463960340">
+  <ele>146.738403</ele>
+  <time>2005-05-01T13:06:23Z</time>
+</trkpt>
+<trkpt lat="51.075012563" lon="12.463593883">
+  <ele>146.738403</ele>
+  <time>2005-05-01T13:06:29Z</time>
+</trkpt>
+<trkpt lat="51.074385345" lon="12.463097172">
+  <ele>146.257812</ele>
+  <time>2005-05-01T13:06:34Z</time>
+</trkpt>
+<trkpt lat="51.073919898" lon="12.462503901">
+  <ele>145.777100</ele>
+  <time>2005-05-01T13:06:38Z</time>
+</trkpt>
+<trkpt lat="51.073308354" lon="12.461643163">
+  <ele>144.815796</ele>
+  <time>2005-05-01T13:06:44Z</time>
+</trkpt>
+<trkpt lat="51.072884984" lon="12.461060369">
+  <ele>144.335205</ele>
+  <time>2005-05-01T13:06:49Z</time>
+</trkpt>
+<trkpt lat="51.072420795" lon="12.460390236">
+  <ele>144.335205</ele>
+  <time>2005-05-01T13:06:54Z</time>
+</trkpt>
+<trkpt lat="51.071721660" lon="12.459418857">
+  <ele>144.335205</ele>
+  <time>2005-05-01T13:07:00Z</time>
+</trkpt>
+<trkpt lat="51.070289863" lon="12.457436621">
+  <ele>144.335205</ele>
+  <time>2005-05-01T13:07:11Z</time>
+</trkpt>
+<trkpt lat="51.069389228" lon="12.456189645">
+  <ele>143.854370</ele>
+  <time>2005-05-01T13:07:17Z</time>
+</trkpt>
+<trkpt lat="51.067873612" lon="12.454091068">
+  <ele>144.335205</ele>
+  <time>2005-05-01T13:07:27Z</time>
+</trkpt>
+<trkpt lat="51.067582844" lon="12.453805748">
+  <ele>144.335205</ele>
+  <time>2005-05-01T13:07:29Z</time>
+</trkpt>
+<trkpt lat="51.067007845" lon="12.453500982">
+  <ele>144.335205</ele>
+  <time>2005-05-01T13:07:33Z</time>
+</trkpt>
+<trkpt lat="51.066716909" lon="12.453480195">
+  <ele>144.815796</ele>
+  <time>2005-05-01T13:07:35Z</time>
+</trkpt>
+<trkpt lat="51.065794146" lon="12.453458067">
+  <ele>145.296387</ele>
+  <time>2005-05-01T13:07:42Z</time>
+</trkpt>
+<trkpt lat="51.064862832" lon="12.453551022">
+  <ele>145.777100</ele>
+  <time>2005-05-01T13:07:50Z</time>
+</trkpt>
+<trkpt lat="51.064357907" lon="12.453749254">
+  <ele>146.257812</ele>
+  <time>2005-05-01T13:07:55Z</time>
+</trkpt>
+<trkpt lat="51.063620383" lon="12.453989983">
+  <ele>146.738403</ele>
+  <time>2005-05-01T13:08:02Z</time>
+</trkpt>
+<trkpt lat="51.062799040" lon="12.454051170">
+  <ele>146.738403</ele>
+  <time>2005-05-01T13:08:09Z</time>
+</trkpt>
+<trkpt lat="51.062575076" lon="12.454062989">
+  <ele>146.257812</ele>
+  <time>2005-05-01T13:08:11Z</time>
+</trkpt>
+<trkpt lat="51.062149527" lon="12.453842126">
+  <ele>146.738403</ele>
+  <time>2005-05-01T13:08:15Z</time>
+</trkpt>
+<trkpt lat="51.061779130" lon="12.453480447">
+  <ele>146.738403</ele>
+  <time>2005-05-01T13:08:19Z</time>
+</trkpt>
+<trkpt lat="51.061455337" lon="12.453474076">
+  <ele>146.257812</ele>
+  <time>2005-05-01T13:08:22Z</time>
+</trkpt>
+<trkpt lat="51.061336147" lon="12.453520177">
+  <ele>145.777100</ele>
+  <time>2005-05-01T13:08:23Z</time>
+</trkpt>
+<trkpt lat="51.060464596" lon="12.453874983">
+  <ele>147.218994</ele>
+  <time>2005-05-01T13:08:29Z</time>
+</trkpt>
+<trkpt lat="51.059682900" lon="12.454201877">
+  <ele>147.218994</ele>
+  <time>2005-05-01T13:08:33Z</time>
+</trkpt>
+<trkpt lat="51.058304664" lon="12.454766314">
+  <ele>147.218994</ele>
+  <time>2005-05-01T13:08:40Z</time>
+</trkpt>
+<trkpt lat="51.057957485" lon="12.454882152">
+  <ele>147.218994</ele>
+  <time>2005-05-01T13:08:42Z</time>
+</trkpt>
+<trkpt lat="51.057272600" lon="12.454769500">
+  <ele>147.218994</ele>
+  <time>2005-05-01T13:08:46Z</time>
+</trkpt>
+<trkpt lat="51.056304155" lon="12.454394577">
+  <ele>148.180420</ele>
+  <time>2005-05-01T13:08:52Z</time>
+</trkpt>
+<trkpt lat="51.054925919" lon="12.453861237">
+  <ele>147.699707</ele>
+  <time>2005-05-01T13:09:01Z</time>
+</trkpt>
+<trkpt lat="51.054544039" lon="12.453722181">
+  <ele>148.180420</ele>
+  <time>2005-05-01T13:09:05Z</time>
+</trkpt>
+<trkpt lat="51.054030983" lon="12.453494277">
+  <ele>149.622314</ele>
+  <time>2005-05-01T13:09:12Z</time>
+</trkpt>
+<trkpt lat="51.053380966" lon="12.453174591">
+  <ele>150.103027</ele>
+  <time>2005-05-01T13:09:20Z</time>
+</trkpt>
+<trkpt lat="51.053321790" lon="12.453162605">
+  <ele>150.103027</ele>
+  <time>2005-05-01T13:09:21Z</time>
+</trkpt>
+<trkpt lat="51.052920548" lon="12.453219518">
+  <ele>149.622314</ele>
+  <time>2005-05-01T13:09:25Z</time>
+</trkpt>
+<trkpt lat="51.051903237" lon="12.453641966">
+  <ele>148.180420</ele>
+  <time>2005-05-01T13:09:34Z</time>
+</trkpt>
+<trkpt lat="51.050603371" lon="12.454200704">
+  <ele>148.180420</ele>
+  <time>2005-05-01T13:09:45Z</time>
+</trkpt>
+<trkpt lat="51.049747495" lon="12.454443360">
+  <ele>148.661011</ele>
+  <time>2005-05-01T13:09:52Z</time>
+</trkpt>
+<trkpt lat="51.048876364" lon="12.454704791">
+  <ele>149.141602</ele>
+  <time>2005-05-01T13:09:58Z</time>
+</trkpt>
+<trkpt lat="51.047410537" lon="12.455193456">
+  <ele>149.141602</ele>
+  <time>2005-05-01T13:10:08Z</time>
+</trkpt>
+<trkpt lat="51.046622721" lon="12.455402836">
+  <ele>149.141602</ele>
+  <time>2005-05-01T13:10:13Z</time>
+</trkpt>
+<trkpt lat="51.045846641" lon="12.455386324">
+  <ele>148.180420</ele>
+  <time>2005-05-01T13:10:17Z</time>
+</trkpt>
+<trkpt lat="51.044221725" lon="12.455320442">
+  <ele>149.622314</ele>
+  <time>2005-05-01T13:10:25Z</time>
+</trkpt>
+<trkpt lat="51.043084636" lon="12.455362603">
+  <ele>152.986938</ele>
+  <time>2005-05-01T13:10:31Z</time>
+</trkpt>
+<trkpt lat="51.042325487" lon="12.455676924">
+  <ele>154.909546</ele>
+  <time>2005-05-01T13:10:35Z</time>
+</trkpt>
+<trkpt lat="51.041613445" lon="12.456316128">
+  <ele>156.351562</ele>
+  <time>2005-05-01T13:10:39Z</time>
+</trkpt>
+<trkpt lat="51.040578280" lon="12.457351377">
+  <ele>158.274170</ele>
+  <time>2005-05-01T13:10:45Z</time>
+</trkpt>
+<trkpt lat="51.039702790" lon="12.457886059">
+  <ele>161.638916</ele>
+  <time>2005-05-01T13:10:50Z</time>
+</trkpt>
+<trkpt lat="51.038720096" lon="12.458243798">
+  <ele>164.522705</ele>
+  <time>2005-05-01T13:10:55Z</time>
+</trkpt>
+<trkpt lat="51.037324006" lon="12.458649902">
+  <ele>164.042114</ele>
+  <time>2005-05-01T13:11:02Z</time>
+</trkpt>
+<trkpt lat="51.035787938" lon="12.458877470">
+  <ele>161.638916</ele>
+  <time>2005-05-01T13:11:09Z</time>
+</trkpt>
+<trkpt lat="51.034810860" lon="12.458875375">
+  <ele>159.716187</ele>
+  <time>2005-05-01T13:11:13Z</time>
+</trkpt>
+<trkpt lat="51.033876613" lon="12.458608411">
+  <ele>158.754761</ele>
+  <time>2005-05-01T13:11:17Z</time>
+</trkpt>
+<trkpt lat="51.032430902" lon="12.458087392">
+  <ele>160.196899</ele>
+  <time>2005-05-01T13:11:23Z</time>
+</trkpt>
+<trkpt lat="51.031495230" lon="12.457998460">
+  <ele>161.158203</ele>
+  <time>2005-05-01T13:11:27Z</time>
+</trkpt>
+<trkpt lat="51.029791944" lon="12.458096696">
+  <ele>161.638916</ele>
+  <time>2005-05-01T13:11:35Z</time>
+</trkpt>
+<trkpt lat="51.029158942" lon="12.458106587">
+  <ele>162.119507</ele>
+  <time>2005-05-01T13:11:39Z</time>
+</trkpt>
+<trkpt lat="51.028557708" lon="12.458088314">
+  <ele>162.600098</ele>
+  <time>2005-05-01T13:11:44Z</time>
+</trkpt>
+<trkpt lat="51.027589515" lon="12.458099127">
+  <ele>164.042114</ele>
+  <time>2005-05-01T13:11:52Z</time>
+</trkpt>
+<trkpt lat="51.026629871" lon="12.458084626">
+  <ele>165.003418</ele>
+  <time>2005-05-01T13:11:59Z</time>
+</trkpt>
+<trkpt lat="51.025723033" lon="12.457857896">
+  <ele>165.964722</ele>
+  <time>2005-05-01T13:12:05Z</time>
+</trkpt>
+<trkpt lat="51.024787780" lon="12.457500659">
+  <ele>166.926025</ele>
+  <time>2005-05-01T13:12:11Z</time>
+</trkpt>
+<trkpt lat="51.023871303" lon="12.456893977">
+  <ele>166.926025</ele>
+  <time>2005-05-01T13:12:17Z</time>
+</trkpt>
+<trkpt lat="51.021929216" lon="12.455243999">
+  <ele>165.484131</ele>
+  <time>2005-05-01T13:12:27Z</time>
+</trkpt>
+<trkpt lat="51.020994298" lon="12.454744522">
+  <ele>166.926025</ele>
+  <time>2005-05-01T13:12:31Z</time>
+</trkpt>
+<trkpt lat="51.020030882" lon="12.454614853">
+  <ele>168.368042</ele>
+  <time>2005-05-01T13:12:35Z</time>
+</trkpt>
+<trkpt lat="51.018780554" lon="12.454470517">
+  <ele>170.771362</ele>
+  <time>2005-05-01T13:12:40Z</time>
+</trkpt>
+<trkpt lat="51.017894251" lon="12.454368342">
+  <ele>172.213257</ele>
+  <time>2005-05-01T13:12:44Z</time>
+</trkpt>
+<trkpt lat="51.016892362" lon="12.454252671">
+  <ele>173.655273</ele>
+  <time>2005-05-01T13:12:49Z</time>
+</trkpt>
+<trkpt lat="51.015722752" lon="12.454117807">
+  <ele>176.058594</ele>
+  <time>2005-05-01T13:12:55Z</time>
+</trkpt>
+<trkpt lat="51.014676606" lon="12.453997107">
+  <ele>180.384521</ele>
+  <time>2005-05-01T13:13:01Z</time>
+</trkpt>
+<trkpt lat="51.013514539" lon="12.454010434">
+  <ele>186.152466</ele>
+  <time>2005-05-01T13:13:08Z</time>
+</trkpt>
+<trkpt lat="51.012609042" lon="12.454248397">
+  <ele>189.516968</ele>
+  <time>2005-05-01T13:13:13Z</time>
+</trkpt>
+<trkpt lat="51.011659540" lon="12.454726500">
+  <ele>192.401123</ele>
+  <time>2005-05-01T13:13:18Z</time>
+</trkpt>
+<trkpt lat="51.010788660" lon="12.455434352">
+  <ele>194.323730</ele>
+  <time>2005-05-01T13:13:23Z</time>
+</trkpt>
+<trkpt lat="51.010001432" lon="12.456408832">
+  <ele>194.804321</ele>
+  <time>2005-05-01T13:13:28Z</time>
+</trkpt>
+<trkpt lat="51.009136755" lon="12.457519518">
+  <ele>193.843018</ele>
+  <time>2005-05-01T13:13:33Z</time>
+</trkpt>
+<trkpt lat="51.007879470" lon="12.458939832">
+  <ele>190.478394</ele>
+  <time>2005-05-01T13:13:40Z</time>
+</trkpt>
+<trkpt lat="51.006393442" lon="12.460460393">
+  <ele>187.113770</ele>
+  <time>2005-05-01T13:13:48Z</time>
+</trkpt>
+<trkpt lat="51.005691793" lon="12.461390113">
+  <ele>186.633179</ele>
+  <time>2005-05-01T13:13:52Z</time>
+</trkpt>
+<trkpt lat="51.005149735" lon="12.462388733">
+  <ele>185.671753</ele>
+  <time>2005-05-01T13:13:56Z</time>
+</trkpt>
+<trkpt lat="51.004546154" lon="12.463724725">
+  <ele>184.710571</ele>
+  <time>2005-05-01T13:14:01Z</time>
+</trkpt>
+<trkpt lat="51.003488526" lon="12.466263017">
+  <ele>182.787842</ele>
+  <time>2005-05-01T13:14:10Z</time>
+</trkpt>
+<trkpt lat="51.002803389" lon="12.467557183">
+  <ele>181.826416</ele>
+  <time>2005-05-01T13:14:15Z</time>
+</trkpt>
+<trkpt lat="51.002001660" lon="12.468651021">
+  <ele>179.903809</ele>
+  <time>2005-05-01T13:14:20Z</time>
+</trkpt>
+<trkpt lat="51.001129942" lon="12.469548220">
+  <ele>177.500610</ele>
+  <time>2005-05-01T13:14:25Z</time>
+</trkpt>
+<trkpt lat="51.000100393" lon="12.470273757">
+  <ele>174.616577</ele>
+  <time>2005-05-01T13:14:30Z</time>
+</trkpt>
+<trkpt lat="50.998985432" lon="12.470720010">
+  <ele>172.693970</ele>
+  <time>2005-05-01T13:14:35Z</time>
+</trkpt>
+<trkpt lat="50.998129472" lon="12.470893096">
+  <ele>171.732666</ele>
+  <time>2005-05-01T13:14:39Z</time>
+</trkpt>
+<trkpt lat="50.997094056" lon="12.470914721">
+  <ele>172.213257</ele>
+  <time>2005-05-01T13:14:44Z</time>
+</trkpt>
+<trkpt lat="50.996059226" lon="12.470645327">
+  <ele>174.135864</ele>
+  <time>2005-05-01T13:14:49Z</time>
+</trkpt>
+<trkpt lat="50.994969830" lon="12.470195973">
+  <ele>177.020020</ele>
+  <time>2005-05-01T13:14:54Z</time>
+</trkpt>
+<trkpt lat="50.992980720" lon="12.469229456">
+  <ele>183.749023</ele>
+  <time>2005-05-01T13:15:03Z</time>
+</trkpt>
+<trkpt lat="50.991136618" lon="12.468336364">
+  <ele>189.516968</ele>
+  <time>2005-05-01T13:15:12Z</time>
+</trkpt>
+<trkpt lat="50.989595354" lon="12.467589956">
+  <ele>193.843018</ele>
+  <time>2005-05-01T13:15:19Z</time>
+</trkpt>
+<trkpt lat="50.987950824" lon="12.466793507">
+  <ele>197.688232</ele>
+  <time>2005-05-01T13:15:26Z</time>
+</trkpt>
+<trkpt lat="50.985987280" lon="12.465988593">
+  <ele>200.091675</ele>
+  <time>2005-05-01T13:15:34Z</time>
+</trkpt>
+<trkpt lat="50.984779028" lon="12.465677792">
+  <ele>200.572266</ele>
+  <time>2005-05-01T13:15:39Z</time>
+</trkpt>
+<trkpt lat="50.983363995" lon="12.465640660">
+  <ele>199.130127</ele>
+  <time>2005-05-01T13:15:45Z</time>
+</trkpt>
+<trkpt lat="50.981831113" lon="12.465589363">
+  <ele>197.207520</ele>
+  <time>2005-05-01T13:15:52Z</time>
+</trkpt>
+<trkpt lat="50.980294542" lon="12.465363722">
+  <ele>195.284912</ele>
+  <time>2005-05-01T13:15:59Z</time>
+</trkpt>
+<trkpt lat="50.978978500" lon="12.464875309">
+  <ele>193.362305</ele>
+  <time>2005-05-01T13:16:05Z</time>
+</trkpt>
+<trkpt lat="50.977680227" lon="12.464091768">
+  <ele>191.439575</ele>
+  <time>2005-05-01T13:16:11Z</time>
+</trkpt>
+<trkpt lat="50.976508521" lon="12.463129777">
+  <ele>191.439575</ele>
+  <time>2005-05-01T13:16:17Z</time>
+</trkpt>
+<trkpt lat="50.975444270" lon="12.461997885">
+  <ele>193.362305</ele>
+  <time>2005-05-01T13:16:23Z</time>
+</trkpt>
+<trkpt lat="50.974451518" lon="12.460634820">
+  <ele>197.207520</ele>
+  <time>2005-05-01T13:16:29Z</time>
+</trkpt>
+<trkpt lat="50.973559013" lon="12.459012251">
+  <ele>202.014282</ele>
+  <time>2005-05-01T13:16:35Z</time>
+</trkpt>
+<trkpt lat="50.972777735" lon="12.457285998">
+  <ele>207.301392</ele>
+  <time>2005-05-01T13:16:41Z</time>
+</trkpt>
+<trkpt lat="50.971536376" lon="12.453962155">
+  <ele>214.030640</ele>
+  <time>2005-05-01T13:16:52Z</time>
+</trkpt>
+<trkpt lat="50.970154870" lon="12.450278308">
+  <ele>217.395386</ele>
+  <time>2005-05-01T13:17:04Z</time>
+</trkpt>
+<trkpt lat="50.968864309" lon="12.446836866">
+  <ele>219.798584</ele>
+  <time>2005-05-01T13:17:15Z</time>
+</trkpt>
+<trkpt lat="50.967733171" lon="12.443820387">
+  <ele>222.201782</ele>
+  <time>2005-05-01T13:17:24Z</time>
+</trkpt>
+<trkpt lat="50.966092665" lon="12.439414943">
+  <ele>224.124512</ele>
+  <time>2005-05-01T13:17:37Z</time>
+</trkpt>
+<trkpt lat="50.964871841" lon="12.436135104">
+  <ele>222.682495</ele>
+  <time>2005-05-01T13:17:47Z</time>
+</trkpt>
+<trkpt lat="50.964412764" lon="12.434618818">
+  <ele>221.721191</ele>
+  <time>2005-05-01T13:17:52Z</time>
+</trkpt>
+<trkpt lat="50.964082768" lon="12.433248796">
+  <ele>220.759888</ele>
+  <time>2005-05-01T13:17:57Z</time>
+</trkpt>
+<trkpt lat="50.963684041" lon="12.431203695">
+  <ele>220.279175</ele>
+  <time>2005-05-01T13:18:04Z</time>
+</trkpt>
+<trkpt lat="50.963390507" lon="12.429024149">
+  <ele>220.759888</ele>
+  <time>2005-05-01T13:18:11Z</time>
+</trkpt>
+<trkpt lat="50.963124884" lon="12.426970834">
+  <ele>222.201782</ele>
+  <time>2005-05-01T13:18:17Z</time>
+</trkpt>
+<trkpt lat="50.962686343" lon="12.423942201">
+  <ele>224.605225</ele>
+  <time>2005-05-01T13:18:26Z</time>
+</trkpt>
+<trkpt lat="50.962207904" lon="12.421659390">
+  <ele>226.527832</ele>
+  <time>2005-05-01T13:18:33Z</time>
+</trkpt>
+<trkpt lat="50.961579010" lon="12.419486381">
+  <ele>227.008545</ele>
+  <time>2005-05-01T13:18:40Z</time>
+</trkpt>
+<trkpt lat="50.960864872" lon="12.417671448">
+  <ele>227.008545</ele>
+  <time>2005-05-01T13:18:46Z</time>
+</trkpt>
+<trkpt lat="50.960035231" lon="12.415838912">
+  <ele>226.527832</ele>
+  <time>2005-05-01T13:18:52Z</time>
+</trkpt>
+<trkpt lat="50.959105426" lon="12.414159682">
+  <ele>226.527832</ele>
+  <time>2005-05-01T13:18:58Z</time>
+</trkpt>
+<trkpt lat="50.958347199" lon="12.413022593">
+  <ele>226.047119</ele>
+  <time>2005-05-01T13:19:03Z</time>
+</trkpt>
+<trkpt lat="50.957627948" lon="12.412080718">
+  <ele>225.566528</ele>
+  <time>2005-05-01T13:19:08Z</time>
+</trkpt>
+<trkpt lat="50.956697809" lon="12.411014037">
+  <ele>226.047119</ele>
+  <time>2005-05-01T13:19:14Z</time>
+</trkpt>
+<trkpt lat="50.955608077" lon="12.410037713">
+  <ele>227.008545</ele>
+  <time>2005-05-01T13:19:20Z</time>
+</trkpt>
+<trkpt lat="50.954542821" lon="12.409193739">
+  <ele>227.489136</ele>
+  <time>2005-05-01T13:19:25Z</time>
+</trkpt>
+<trkpt lat="50.952979680" lon="12.408084227">
+  <ele>227.969727</ele>
+  <time>2005-05-01T13:19:32Z</time>
+</trkpt>
+<trkpt lat="50.951773273" lon="12.407279899">
+  <ele>226.047119</ele>
+  <time>2005-05-01T13:19:38Z</time>
+</trkpt>
+<trkpt lat="50.950303925" lon="12.406244818">
+  <ele>222.682495</ele>
+  <time>2005-05-01T13:19:46Z</time>
+</trkpt>
+<trkpt lat="50.949769160" lon="12.405829830">
+  <ele>221.240601</ele>
+  <time>2005-05-01T13:19:50Z</time>
+</trkpt>
+<trkpt lat="50.948800631" lon="12.405009829">
+  <ele>218.356567</ele>
+  <time>2005-05-01T13:19:58Z</time>
+</trkpt>
+<trkpt lat="50.948175676" lon="12.404475650">
+  <ele>216.914673</ele>
+  <time>2005-05-01T13:20:04Z</time>
+</trkpt>
+<trkpt lat="50.947254589" lon="12.403680375">
+  <ele>215.472656</ele>
+  <time>2005-05-01T13:20:12Z</time>
+</trkpt>
+<trkpt lat="50.946520334" lon="12.403051984">
+  <ele>217.875977</ele>
+  <time>2005-05-01T13:20:17Z</time>
+</trkpt>
+<trkpt lat="50.945659345" lon="12.402324937">
+  <ele>220.759888</ele>
+  <time>2005-05-01T13:20:22Z</time>
+</trkpt>
+<trkpt lat="50.944523932" lon="12.401375771">
+  <ele>224.605225</ele>
+  <time>2005-05-01T13:20:28Z</time>
+</trkpt>
+<trkpt lat="50.943889171" lon="12.400856344">
+  <ele>226.527832</ele>
+  <time>2005-05-01T13:20:32Z</time>
+</trkpt>
+<trkpt lat="50.942677902" lon="12.399937771">
+  <ele>229.892334</ele>
+  <time>2005-05-01T13:20:40Z</time>
+</trkpt>
+<trkpt lat="50.941661764" lon="12.399198823">
+  <ele>232.295776</ele>
+  <time>2005-05-01T13:20:47Z</time>
+</trkpt>
+<trkpt lat="50.941137560" lon="12.399022132">
+  <ele>231.814941</ele>
+  <time>2005-05-01T13:21:03Z</time>
+</trkpt>
+<trkpt lat="50.941159436" lon="12.399109555">
+  <ele>231.334351</ele>
+  <time>2005-05-01T13:21:04Z</time>
+</trkpt>
+<trkpt lat="50.941480380" lon="12.399951685">
+  <ele>228.931152</ele>
+  <time>2005-05-01T13:21:11Z</time>
+</trkpt>
+<trkpt lat="50.942053031" lon="12.401339142">
+  <ele>224.605225</ele>
+  <time>2005-05-01T13:21:23Z</time>
+</trkpt>
+<trkpt lat="50.942380680" lon="12.402339354">
+  <ele>220.759888</ele>
+  <time>2005-05-01T13:21:31Z</time>
+</trkpt>
+<trkpt lat="50.942579666" lon="12.403306207">
+  <ele>216.914673</ele>
+  <time>2005-05-01T13:21:37Z</time>
+</trkpt>
+<trkpt lat="50.942695504" lon="12.404157724">
+  <ele>213.069336</ele>
+  <time>2005-05-01T13:21:41Z</time>
+</trkpt>
+<trkpt lat="50.942841936" lon="12.406039629">
+  <ele>206.820679</ele>
+  <time>2005-05-01T13:21:49Z</time>
+</trkpt>
+<trkpt lat="50.942955259" lon="12.407497074">
+  <ele>202.494873</ele>
+  <time>2005-05-01T13:21:56Z</time>
+</trkpt>
+<trkpt lat="50.942893401" lon="12.408617064">
+  <ele>199.130127</ele>
+  <time>2005-05-01T13:22:02Z</time>
+</trkpt>
+<trkpt lat="50.942822825" lon="12.410031930">
+  <ele>196.246338</ele>
+  <time>2005-05-01T13:22:09Z</time>
+</trkpt>
+<trkpt lat="50.942801870" lon="12.411101293">
+  <ele>194.323730</ele>
+  <time>2005-05-01T13:22:15Z</time>
+</trkpt>
+<trkpt lat="50.942758368" lon="12.411933113">
+  <ele>193.843018</ele>
+  <time>2005-05-01T13:22:21Z</time>
+</trkpt>
+<trkpt lat="50.942696845" lon="12.412199825">
+  <ele>193.843018</ele>
+  <time>2005-05-01T13:22:24Z</time>
+</trkpt>
+<trkpt lat="50.942485370" lon="12.412536023">
+  <ele>193.362305</ele>
+  <time>2005-05-01T13:22:28Z</time>
+</trkpt>
+<trkpt lat="50.941715240" lon="12.413306236">
+  <ele>191.920288</ele>
+  <time>2005-05-01T13:22:36Z</time>
+</trkpt>
+<trkpt lat="50.941203190" lon="12.413784172">
+  <ele>189.516968</ele>
+  <time>2005-05-01T13:22:42Z</time>
+</trkpt>
+<trkpt lat="50.940909656" lon="12.413920630">
+  <ele>187.113770</ele>
+  <time>2005-05-01T13:22:46Z</time>
+</trkpt>
+<trkpt lat="50.940494835" lon="12.413962372">
+  <ele>184.710571</ele>
+  <time>2005-05-01T13:22:54Z</time>
+</trkpt>
+<trkpt lat="50.940165259" lon="12.414028337">
+  <ele>182.307129</ele>
+  <time>2005-05-01T13:23:03Z</time>
+</trkpt>
+<trkpt lat="50.939892847" lon="12.414094135">
+  <ele>182.307129</ele>
+  <time>2005-05-01T13:23:09Z</time>
+</trkpt>
+<trkpt lat="50.939478278" lon="12.414414575">
+  <ele>182.307129</ele>
+  <time>2005-05-01T13:23:18Z</time>
+</trkpt>
+<trkpt lat="50.939077036" lon="12.414724538">
+  <ele>182.787842</ele>
+  <time>2005-05-01T13:23:25Z</time>
+</trkpt>
+<trkpt lat="50.938585605" lon="12.414783295">
+  <ele>182.787842</ele>
+  <time>2005-05-01T13:23:30Z</time>
+</trkpt>
+<trkpt lat="50.937951850" lon="12.414706098">
+  <ele>182.307129</ele>
+  <time>2005-05-01T13:23:36Z</time>
+</trkpt>
+<trkpt lat="50.937299905" lon="12.414667457">
+  <ele>182.307129</ele>
+  <time>2005-05-01T13:23:41Z</time>
+</trkpt>
+<trkpt lat="50.936481245" lon="12.414953532">
+  <ele>182.787842</ele>
+  <time>2005-05-01T13:23:47Z</time>
+</trkpt>
+<trkpt lat="50.935965171" lon="12.415160062">
+  <ele>183.268433</ele>
+  <time>2005-05-01T13:23:52Z</time>
+</trkpt>
+<trkpt lat="50.935349353" lon="12.415446304">
+  <ele>184.229858</ele>
+  <time>2005-05-01T13:23:59Z</time>
+</trkpt>
+<trkpt lat="50.934922714" lon="12.415835224">
+  <ele>183.749023</ele>
+  <time>2005-05-01T13:24:04Z</time>
+</trkpt>
+<trkpt lat="50.934481155" lon="12.416402847">
+  <ele>183.749023</ele>
+  <time>2005-05-01T13:24:10Z</time>
+</trkpt>
+<trkpt lat="50.934413765" lon="12.416487001">
+  <ele>183.749023</ele>
+  <time>2005-05-01T13:24:11Z</time>
+</trkpt>
+<trkpt lat="50.933956699" lon="12.416873742">
+  <ele>183.749023</ele>
+  <time>2005-05-01T13:24:17Z</time>
+</trkpt>
+<trkpt lat="50.933721000" lon="12.417281773">
+  <ele>183.268433</ele>
+  <time>2005-05-01T13:24:22Z</time>
+</trkpt>
+<trkpt lat="50.933696441" lon="12.417515796">
+  <ele>183.268433</ele>
+  <time>2005-05-01T13:24:24Z</time>
+</trkpt>
+<trkpt lat="50.933667859" lon="12.418108061">
+  <ele>183.268433</ele>
+  <time>2005-05-01T13:24:31Z</time>
+</trkpt>
+<trkpt lat="50.933679342" lon="12.418176793">
+  <ele>183.268433</ele>
+  <time>2005-05-01T13:24:32Z</time>
+</trkpt>
+<trkpt lat="50.933727538" lon="12.418466303">
+  <ele>183.268433</ele>
+  <time>2005-05-01T13:24:36Z</time>
+</trkpt>
+<trkpt lat="50.933783613" lon="12.418802585">
+  <ele>183.749023</ele>
+  <time>2005-05-01T13:24:41Z</time>
+</trkpt>
+<trkpt lat="50.933746565" lon="12.419284713">
+  <ele>183.268433</ele>
+  <time>2005-05-01T13:24:46Z</time>
+</trkpt>
+<trkpt lat="50.933725191" lon="12.419364844">
+  <ele>183.749023</ele>
+  <time>2005-05-01T13:24:47Z</time>
+</trkpt>
+<trkpt lat="50.933592673" lon="12.419766672">
+  <ele>183.749023</ele>
+  <time>2005-05-01T13:24:54Z</time>
+</trkpt>
+<trkpt lat="50.933312131" lon="12.420352651">
+  <ele>184.229858</ele>
+  <time>2005-05-01T13:25:04Z</time>
+</trkpt>
+<trkpt lat="50.933123957" lon="12.420735201">
+  <ele>184.229858</ele>
+  <time>2005-05-01T13:25:11Z</time>
+</trkpt>
+<trkpt lat="50.933093196" lon="12.420752216">
+  <ele>183.749023</ele>
+  <time>2005-05-01T13:25:12Z</time>
+</trkpt>
+<trkpt lat="50.932885744" lon="12.420867551">
+  <ele>183.749023</ele>
+  <time>2005-05-01T13:25:16Z</time>
+</trkpt>
+<trkpt lat="50.932310494" lon="12.421187069">
+  <ele>184.710571</ele>
+  <time>2005-05-01T13:25:24Z</time>
+</trkpt>
+<trkpt lat="50.931790564" lon="12.421526872">
+  <ele>185.191162</ele>
+  <time>2005-05-01T13:25:32Z</time>
+</trkpt>
+<trkpt lat="50.931463083" lon="12.421933729">
+  <ele>185.191162</ele>
+  <time>2005-05-01T13:25:37Z</time>
+</trkpt>
+<trkpt lat="50.931111798" lon="12.422308149">
+  <ele>185.671753</ele>
+  <time>2005-05-01T13:25:42Z</time>
+</trkpt>
+<trkpt lat="50.930650290" lon="12.422477631">
+  <ele>185.191162</ele>
+  <time>2005-05-01T13:25:48Z</time>
+</trkpt>
+<trkpt lat="50.930566890" lon="12.422474613">
+  <ele>185.191162</ele>
+  <time>2005-05-01T13:25:49Z</time>
+</trkpt>
+<trkpt lat="50.930213006" lon="12.422311334">
+  <ele>185.671753</ele>
+  <time>2005-05-01T13:25:55Z</time>
+</trkpt>
+<trkpt lat="50.930125583" lon="12.422271017">
+  <ele>185.671753</ele>
+  <time>2005-05-01T13:25:57Z</time>
+</trkpt>
+<trkpt lat="50.929855267" lon="12.422425244">
+  <ele>186.633179</ele>
+  <time>2005-05-01T13:26:03Z</time>
+</trkpt>
+<trkpt lat="50.929687964" lon="12.422732022">
+  <ele>186.633179</ele>
+  <time>2005-05-01T13:26:06Z</time>
+</trkpt>
+<trkpt lat="50.929427873" lon="12.423474910">
+  <ele>187.113770</ele>
+  <time>2005-05-01T13:26:10Z</time>
+</trkpt>
+<trkpt lat="50.928975167" lon="12.424152000">
+  <ele>187.113770</ele>
+  <time>2005-05-01T13:26:14Z</time>
+</trkpt>
+<trkpt lat="50.928684901" lon="12.424556008">
+  <ele>188.075073</ele>
+  <time>2005-05-01T13:26:18Z</time>
+</trkpt>
+<trkpt lat="50.928380722" lon="12.424981305">
+  <ele>189.516968</ele>
+  <time>2005-05-01T13:26:24Z</time>
+</trkpt>
+<trkpt lat="50.928099174" lon="12.425392773">
+  <ele>188.075073</ele>
+  <time>2005-05-01T13:26:28Z</time>
+</trkpt>
+<trkpt lat="50.927432561" lon="12.426367085">
+  <ele>188.555786</ele>
+  <time>2005-05-01T13:26:36Z</time>
+</trkpt>
+<trkpt lat="50.927316304" lon="12.426537070">
+  <ele>188.555786</ele>
+  <time>2005-05-01T13:26:38Z</time>
+</trkpt>
+<trkpt lat="50.927139781" lon="12.426567078">
+  <ele>189.516968</ele>
+  <time>2005-05-01T13:26:42Z</time>
+</trkpt>
+<trkpt lat="50.927107343" lon="12.426567078">
+  <ele>189.516968</ele>
+  <time>2005-05-01T13:26:43Z</time>
+</trkpt>
+<trkpt lat="50.926884133" lon="12.426639413">
+  <ele>189.997681</ele>
+  <time>2005-05-01T13:26:48Z</time>
+</trkpt>
+<trkpt lat="50.926772403" lon="12.426958513">
+  <ele>189.997681</ele>
+  <time>2005-05-01T13:26:50Z</time>
+</trkpt>
+<trkpt lat="50.926494375" lon="12.427581791">
+  <ele>189.516968</ele>
+  <time>2005-05-01T13:26:54Z</time>
+</trkpt>
+<trkpt lat="50.926026078" lon="12.428197945">
+  <ele>189.997681</ele>
+  <time>2005-05-01T13:26:59Z</time>
+</trkpt>
+<trkpt lat="50.925234156" lon="12.429118361">
+  <ele>191.439575</ele>
+  <time>2005-05-01T13:27:06Z</time>
+</trkpt>
+<trkpt lat="50.924344752" lon="12.430082532">
+  <ele>192.881714</ele>
+  <time>2005-05-01T13:27:14Z</time>
+</trkpt>
+<trkpt lat="50.923737483" lon="12.430581842">
+  <ele>194.323730</ele>
+  <time>2005-05-01T13:27:20Z</time>
+</trkpt>
+<trkpt lat="50.923259044" lon="12.430975288">
+  <ele>195.765625</ele>
+  <time>2005-05-01T13:27:26Z</time>
+</trkpt>
+<trkpt lat="50.922922594" lon="12.431251891">
+  <ele>195.284912</ele>
+  <time>2005-05-01T13:27:32Z</time>
+</trkpt>
+<trkpt lat="50.922615817" lon="12.431504522">
+  <ele>194.804321</ele>
+  <time>2005-05-01T13:27:38Z</time>
+</trkpt>
+<trkpt lat="50.922183562" lon="12.432010453">
+  <ele>193.362305</ele>
+  <time>2005-05-01T13:27:45Z</time>
+</trkpt>
+<trkpt lat="50.921958508" lon="12.432287559">
+  <ele>192.881714</ele>
+  <time>2005-05-01T13:27:50Z</time>
+</trkpt>
+<trkpt lat="50.921860021" lon="12.432408677">
+  <ele>192.881714</ele>
+  <time>2005-05-01T13:27:55Z</time>
+</trkpt>
+<trkpt lat="50.921810148" lon="12.432633312">
+  <ele>193.362305</ele>
+  <time>2005-05-01T13:28:00Z</time>
+</trkpt>
+<trkpt lat="50.921900924" lon="12.432814948">
+  <ele>192.881714</ele>
+  <time>2005-05-01T13:28:04Z</time>
+</trkpt>
+<trkpt lat="50.922163781" lon="12.433379386">
+  <ele>190.958984</ele>
+  <time>2005-05-01T13:28:09Z</time>
+</trkpt>
+<trkpt lat="50.922348350" lon="12.434394769">
+  <ele>189.516968</ele>
+  <time>2005-05-01T13:28:16Z</time>
+</trkpt>
+<trkpt lat="50.922360588" lon="12.434537094">
+  <ele>189.516968</ele>
+  <time>2005-05-01T13:28:17Z</time>
+</trkpt>
+<trkpt lat="50.922420770" lon="12.435239246">
+  <ele>188.555786</ele>
+  <time>2005-05-01T13:28:22Z</time>
+</trkpt>
+<trkpt lat="50.922446251" lon="12.435800163">
+  <ele>188.555786</ele>
+  <time>2005-05-01T13:28:27Z</time>
+</trkpt>
+<trkpt lat="50.922408700" lon="12.436349094">
+  <ele>188.555786</ele>
+  <time>2005-05-01T13:28:37Z</time>
+</trkpt>
+<trkpt lat="50.922281882" lon="12.436841279">
+  <ele>188.555786</ele>
+  <time>2005-05-01T13:28:43Z</time>
+</trkpt>
+<trkpt lat="50.922125895" lon="12.437638650">
+  <ele>189.516968</ele>
+  <time>2005-05-01T13:28:49Z</time>
+</trkpt>
+<trkpt lat="50.922102928" lon="12.438555630">
+  <ele>190.958984</ele>
+  <time>2005-05-01T13:28:54Z</time>
+</trkpt>
+<trkpt lat="50.922102928" lon="12.438972965">
+  <ele>189.516968</ele>
+  <time>2005-05-01T13:28:56Z</time>
+</trkpt>
+<trkpt lat="50.921969907" lon="12.439605128">
+  <ele>189.036377</ele>
+  <time>2005-05-01T13:29:00Z</time>
+</trkpt>
+<trkpt lat="50.921893548" lon="12.439730940">
+  <ele>188.555786</ele>
+  <time>2005-05-01T13:29:01Z</time>
+</trkpt>
+<trkpt lat="50.921325758" lon="12.440666026">
+  <ele>188.555786</ele>
+  <time>2005-05-01T13:29:09Z</time>
+</trkpt>
+<trkpt lat="50.920901215" lon="12.440986466">
+  <ele>188.075073</ele>
+  <time>2005-05-01T13:29:14Z</time>
+</trkpt>
+<trkpt lat="50.920612877" lon="12.441106327">
+  <ele>188.075073</ele>
+  <time>2005-05-01T13:29:17Z</time>
+</trkpt>
+<trkpt lat="50.920191687" lon="12.441598177">
+  <ele>188.555786</ele>
+  <time>2005-05-01T13:29:22Z</time>
+</trkpt>
+<trkpt lat="50.920085907" lon="12.442096565">
+  <ele>189.516968</ele>
+  <time>2005-05-01T13:29:26Z</time>
+</trkpt>
+<trkpt lat="50.920085907" lon="12.442310890">
+  <ele>189.997681</ele>
+  <time>2005-05-01T13:29:28Z</time>
+</trkpt>
+<trkpt lat="50.920129241" lon="12.442950513">
+  <ele>190.478394</ele>
+  <time>2005-05-01T13:29:35Z</time>
+</trkpt>
+<trkpt lat="50.920205181" lon="12.443608493">
+  <ele>189.516968</ele>
+  <time>2005-05-01T13:29:40Z</time>
+</trkpt>
+<trkpt lat="50.920211552" lon="12.444139989">
+  <ele>189.997681</ele>
+  <time>2005-05-01T13:29:45Z</time>
+</trkpt>
+<trkpt lat="50.920143994" lon="12.444590516">
+  <ele>190.478394</ele>
+  <time>2005-05-01T13:29:52Z</time>
+</trkpt>
+<trkpt lat="50.920087919" lon="12.444963846">
+  <ele>191.920288</ele>
+  <time>2005-05-01T13:30:12Z</time>
+</trkpt>
+<trkpt lat="50.919913910" lon="12.444930738">
+  <ele>191.920288</ele>
+  <time>2005-05-01T13:30:16Z</time>
+</trkpt>
+<trkpt lat="50.919390377" lon="12.444782713">
+  <ele>191.920288</ele>
+  <time>2005-05-01T13:30:21Z</time>
+</trkpt>
+<trkpt lat="50.918809846" lon="12.444610968">
+  <ele>191.439575</ele>
+  <time>2005-05-01T13:30:25Z</time>
+</trkpt>
+<trkpt lat="50.917950785" lon="12.444356913">
+  <ele>191.439575</ele>
+  <time>2005-05-01T13:30:30Z</time>
+</trkpt>
+<trkpt lat="50.917283669" lon="12.444159435">
+  <ele>191.439575</ele>
+  <time>2005-05-01T13:30:33Z</time>
+</trkpt>
+<trkpt lat="50.916253449" lon="12.443854669">
+  <ele>190.958984</ele>
+  <time>2005-05-01T13:30:37Z</time>
+</trkpt>
+<trkpt lat="50.914942101" lon="12.443466755">
+  <ele>191.439575</ele>
+  <time>2005-05-01T13:30:42Z</time>
+</trkpt>
+<trkpt lat="50.914319828" lon="12.443282604">
+  <ele>191.439575</ele>
+  <time>2005-05-01T13:30:45Z</time>
+</trkpt>
+<trkpt lat="50.913452301" lon="12.443025950">
+  <ele>191.920288</ele>
+  <time>2005-05-01T13:30:50Z</time>
+</trkpt>
+<trkpt lat="50.912401713" lon="12.442715149">
+  <ele>192.401123</ele>
+  <time>2005-05-01T13:30:57Z</time>
+</trkpt>
+<trkpt lat="50.911631584" lon="12.442531586">
+  <ele>192.401123</ele>
+  <time>2005-05-01T13:31:03Z</time>
+</trkpt>
+<trkpt lat="50.911194384" lon="12.442451958">
+  <ele>192.401123</ele>
+  <time>2005-05-01T13:31:08Z</time>
+</trkpt>
+<trkpt lat="50.910853073" lon="12.442225059">
+  <ele>191.920288</ele>
+  <time>2005-05-01T13:31:12Z</time>
+</trkpt>
+<trkpt lat="50.910499357" lon="12.441871343">
+  <ele>191.439575</ele>
+  <time>2005-05-01T13:31:16Z</time>
+</trkpt>
+<trkpt lat="50.910078418" lon="12.441645367">
+  <ele>191.920288</ele>
+  <time>2005-05-01T13:31:20Z</time>
+</trkpt>
+<trkpt lat="50.909393951" lon="12.441376476">
+  <ele>193.362305</ele>
+  <time>2005-05-01T13:31:25Z</time>
+</trkpt>
+<trkpt lat="50.908554085" lon="12.441062322">
+  <ele>195.284912</ele>
+  <time>2005-05-01T13:31:30Z</time>
+</trkpt>
+<trkpt lat="50.907625873" lon="12.440726794">
+  <ele>197.688232</ele>
+  <time>2005-05-01T13:31:35Z</time>
+</trkpt>
+<trkpt lat="50.906859096" lon="12.440449605">
+  <ele>198.168945</ele>
+  <time>2005-05-01T13:31:40Z</time>
+</trkpt>
+<trkpt lat="50.905494690" lon="12.439956665">
+  <ele>199.130127</ele>
+  <time>2005-05-01T13:31:48Z</time>
+</trkpt>
+<trkpt lat="50.904941317" lon="12.440009471">
+  <ele>199.610840</ele>
+  <time>2005-05-01T13:31:52Z</time>
+</trkpt>
+<trkpt lat="50.903900871" lon="12.440213989">
+  <ele>199.130127</ele>
+  <time>2005-05-01T13:31:59Z</time>
+</trkpt>
+<trkpt lat="50.902791023" lon="12.440428734">
+  <ele>197.688232</ele>
+  <time>2005-05-01T13:32:06Z</time>
+</trkpt>
+<trkpt lat="50.901569612" lon="12.440728890">
+  <ele>197.207520</ele>
+  <time>2005-05-01T13:32:14Z</time>
+</trkpt>
+<trkpt lat="50.900857821" lon="12.440771637">
+  <ele>197.688232</ele>
+  <time>2005-05-01T13:32:19Z</time>
+</trkpt>
+<trkpt lat="50.900118705" lon="12.440471901">
+  <ele>198.168945</ele>
+  <time>2005-05-01T13:32:24Z</time>
+</trkpt>
+<trkpt lat="50.899586370" lon="12.440053895">
+  <ele>198.649536</ele>
+  <time>2005-05-01T13:32:28Z</time>
+</trkpt>
+<trkpt lat="50.899119750" lon="12.439319640">
+  <ele>198.168945</ele>
+  <time>2005-05-01T13:32:33Z</time>
+</trkpt>
+<trkpt lat="50.898749605" lon="12.438750258">
+  <ele>198.168945</ele>
+  <time>2005-05-01T13:32:38Z</time>
+</trkpt>
+<trkpt lat="50.898302598" lon="12.438202165">
+  <ele>198.168945</ele>
+  <time>2005-05-01T13:32:43Z</time>
+</trkpt>
+<trkpt lat="50.897388468" lon="12.437213352">
+  <ele>197.207520</ele>
+  <time>2005-05-01T13:32:53Z</time>
+</trkpt>
+<trkpt lat="50.896415999" lon="12.436161591">
+  <ele>197.207520</ele>
+  <time>2005-05-01T13:33:04Z</time>
+</trkpt>
+<trkpt lat="50.895656180" lon="12.435359946">
+  <ele>197.207520</ele>
+  <time>2005-05-01T13:33:13Z</time>
+</trkpt>
+<trkpt lat="50.895155193" lon="12.434976725">
+  <ele>197.207520</ele>
+  <time>2005-05-01T13:33:18Z</time>
+</trkpt>
+<trkpt lat="50.894322870" lon="12.434528545">
+  <ele>198.168945</ele>
+  <time>2005-05-01T13:33:26Z</time>
+</trkpt>
+<trkpt lat="50.893487278" lon="12.434103079">
+  <ele>197.688232</ele>
+  <time>2005-05-01T13:33:35Z</time>
+</trkpt>
+<trkpt lat="50.892707678" lon="12.433713321">
+  <ele>197.688232</ele>
+  <time>2005-05-01T13:33:42Z</time>
+</trkpt>
+<trkpt lat="50.891906368" lon="12.433443172">
+  <ele>199.130127</ele>
+  <time>2005-05-01T13:33:49Z</time>
+</trkpt>
+<trkpt lat="50.891069183" lon="12.433517016">
+  <ele>200.091675</ele>
+  <time>2005-05-01T13:33:56Z</time>
+</trkpt>
+<trkpt lat="50.890577082" lon="12.433570912">
+  <ele>201.052856</ele>
+  <time>2005-05-01T13:34:01Z</time>
+</trkpt>
+<trkpt lat="50.890232837" lon="12.433616929">
+  <ele>201.052856</ele>
+  <time>2005-05-01T13:34:06Z</time>
+</trkpt>
+<trkpt lat="50.889764791" lon="12.433694880">
+  <ele>201.533569</ele>
+  <time>2005-05-01T13:34:12Z</time>
+</trkpt>
+<trkpt lat="50.889082169" lon="12.433862016">
+  <ele>200.091675</ele>
+  <time>2005-05-01T13:34:20Z</time>
+</trkpt>
+<trkpt lat="50.888644885" lon="12.433986990">
+  <ele>201.052856</ele>
+  <time>2005-05-01T13:34:26Z</time>
+</trkpt>
+<trkpt lat="50.888501639" lon="12.433782639">
+  <ele>200.091675</ele>
+  <time>2005-05-01T13:34:30Z</time>
+</trkpt>
+<trkpt lat="50.888487222" lon="12.433668729">
+  <ele>199.610840</ele>
+  <time>2005-05-01T13:34:31Z</time>
+</trkpt>
+<trkpt lat="50.888356632" lon="12.432541279">
+  <ele>196.726929</ele>
+  <time>2005-05-01T13:34:39Z</time>
+</trkpt>
+<trkpt lat="50.888344226" lon="12.432404989">
+  <ele>196.246338</ele>
+  <time>2005-05-01T13:34:40Z</time>
+</trkpt>
+<trkpt lat="50.888243727" lon="12.432019673">
+  <ele>195.284912</ele>
+  <time>2005-05-01T13:34:43Z</time>
+</trkpt>
+<trkpt lat="50.887796972" lon="12.431005798">
+  <ele>194.804321</ele>
+  <time>2005-05-01T13:34:52Z</time>
+</trkpt>
+<trkpt lat="50.887534954" lon="12.430778146">
+  <ele>194.804321</ele>
+  <time>2005-05-01T13:34:56Z</time>
+</trkpt>
+<trkpt lat="50.887259189" lon="12.430857606">
+  <ele>195.284912</ele>
+  <time>2005-05-01T13:34:59Z</time>
+</trkpt>
+<trkpt lat="50.886706905" lon="12.431030273">
+  <ele>197.688232</ele>
+  <time>2005-05-01T13:35:05Z</time>
+</trkpt>
+<trkpt lat="50.886124615" lon="12.430958189">
+  <ele>198.168945</ele>
+  <time>2005-05-01T13:35:11Z</time>
+</trkpt>
+<trkpt lat="50.885392455" lon="12.430668594">
+  <ele>197.688232</ele>
+  <time>2005-05-01T13:35:19Z</time>
+</trkpt>
+<trkpt lat="50.885313917" lon="12.430651160">
+  <ele>197.688232</ele>
+  <time>2005-05-01T13:35:20Z</time>
+</trkpt>
+<trkpt lat="50.885067657" lon="12.430644035">
+  <ele>198.168945</ele>
+  <time>2005-05-01T13:35:23Z</time>
+</trkpt>
+<trkpt lat="50.884541441" lon="12.430358715">
+  <ele>198.649536</ele>
+  <time>2005-05-01T13:35:29Z</time>
+</trkpt>
+<trkpt lat="50.884167776" lon="12.430137936">
+  <ele>198.649536</ele>
+  <time>2005-05-01T13:35:33Z</time>
+</trkpt>
+<trkpt lat="50.883691264" lon="12.430124022">
+  <ele>199.130127</ele>
+  <time>2005-05-01T13:35:38Z</time>
+</trkpt>
+<trkpt lat="50.883233780" lon="12.430456784">
+  <ele>199.610840</ele>
+  <time>2005-05-01T13:35:43Z</time>
+</trkpt>
+<trkpt lat="50.882935720" lon="12.430655519">
+  <ele>200.091675</ele>
+  <time>2005-05-01T13:35:46Z</time>
+</trkpt>
+<trkpt lat="50.882197944" lon="12.431006972">
+  <ele>201.052856</ele>
+  <time>2005-05-01T13:35:53Z</time>
+</trkpt>
+<trkpt lat="50.882100714" lon="12.431078302">
+  <ele>201.052856</ele>
+  <time>2005-05-01T13:35:54Z</time>
+</trkpt>
+<trkpt lat="50.881550191" lon="12.431628909">
+  <ele>202.494873</ele>
+  <time>2005-05-01T13:35:59Z</time>
+</trkpt>
+<trkpt lat="50.880904198" lon="12.432231903">
+  <ele>204.417480</ele>
+  <time>2005-05-01T13:36:04Z</time>
+</trkpt>
+<trkpt lat="50.880266000" lon="12.432622164">
+  <ele>206.340088</ele>
+  <time>2005-05-01T13:36:11Z</time>
+</trkpt>
+<trkpt lat="50.879579606" lon="12.432924835">
+  <ele>207.782104</ele>
+  <time>2005-05-01T13:36:17Z</time>
+</trkpt>
+<trkpt lat="50.878839316" lon="12.433234798">
+  <ele>210.666016</ele>
+  <time>2005-05-01T13:36:22Z</time>
+</trkpt>
+<trkpt lat="50.878116880" lon="12.433546688">
+  <ele>213.069336</ele>
+  <time>2005-05-01T13:36:26Z</time>
+</trkpt>
+<trkpt lat="50.877321018" lon="12.433900153">
+  <ele>214.511230</ele>
+  <time>2005-05-01T13:36:31Z</time>
+</trkpt>
+<trkpt lat="50.876635378" lon="12.434317572">
+  <ele>214.030640</ele>
+  <time>2005-05-01T13:36:36Z</time>
+</trkpt>
+<trkpt lat="50.875812694" lon="12.434858875">
+  <ele>213.550049</ele>
+  <time>2005-05-01T13:36:43Z</time>
+</trkpt>
+<trkpt lat="50.875358982" lon="12.435157355">
+  <ele>214.511230</ele>
+  <time>2005-05-01T13:36:48Z</time>
+</trkpt>
+<trkpt lat="50.874696812" lon="12.435129527">
+  <ele>215.953247</ele>
+  <time>2005-05-01T13:36:55Z</time>
+</trkpt>
+<trkpt lat="50.874042604" lon="12.435033051">
+  <ele>217.395386</ele>
+  <time>2005-05-01T13:37:01Z</time>
+</trkpt>
+<trkpt lat="50.873160074" lon="12.434812607">
+  <ele>220.759888</ele>
+  <time>2005-05-01T13:37:08Z</time>
+</trkpt>
+<trkpt lat="50.872598654" lon="12.434661901">
+  <ele>221.240601</ele>
+  <time>2005-05-01T13:37:13Z</time>
+</trkpt>
+<trkpt lat="50.872160951" lon="12.434335677">
+  <ele>221.240601</ele>
+  <time>2005-05-01T13:37:17Z</time>
+</trkpt>
+<trkpt lat="50.872063134" lon="12.434205171">
+  <ele>221.240601</ele>
+  <time>2005-05-01T13:37:18Z</time>
+</trkpt>
+<trkpt lat="50.871347068" lon="12.433400173">
+  <ele>220.279175</ele>
+  <time>2005-05-01T13:37:25Z</time>
+</trkpt>
+<trkpt lat="50.870608538" lon="12.432750324">
+  <ele>219.317993</ele>
+  <time>2005-05-01T13:37:31Z</time>
+</trkpt>
+<trkpt lat="50.869956929" lon="12.432054542">
+  <ele>217.875977</ele>
+  <time>2005-05-01T13:37:36Z</time>
+</trkpt>
+<trkpt lat="50.869407663" lon="12.431467474">
+  <ele>217.875977</ele>
+  <time>2005-05-01T13:37:41Z</time>
+</trkpt>
+<trkpt lat="50.868217181" lon="12.430462651">
+  <ele>218.356567</ele>
+  <time>2005-05-01T13:37:52Z</time>
+</trkpt>
+<trkpt lat="50.867180591" lon="12.429664107">
+  <ele>218.356567</ele>
+  <time>2005-05-01T13:38:01Z</time>
+</trkpt>
+<trkpt lat="50.866357405" lon="12.429271331">
+  <ele>217.395386</ele>
+  <time>2005-05-01T13:38:08Z</time>
+</trkpt>
+<trkpt lat="50.865707388" lon="12.429123977">
+  <ele>218.356567</ele>
+  <time>2005-05-01T13:38:13Z</time>
+</trkpt>
+<trkpt lat="50.864820164" lon="12.429063544">
+  <ele>222.682495</ele>
+  <time>2005-05-01T13:38:19Z</time>
+</trkpt>
+<trkpt lat="50.864142571" lon="12.429017359">
+  <ele>227.008545</ele>
+  <time>2005-05-01T13:38:24Z</time>
+</trkpt>
+<trkpt lat="50.863507977" lon="12.428683089">
+  <ele>231.334351</ele>
+  <time>2005-05-01T13:38:29Z</time>
+</trkpt>
+<trkpt lat="50.862462921" lon="12.428125441">
+  <ele>238.544312</ele>
+  <time>2005-05-01T13:38:37Z</time>
+</trkpt>
+<trkpt lat="50.861722380" lon="12.427791674">
+  <ele>234.699097</ele>
+  <time>2005-05-01T13:38:43Z</time>
+</trkpt>
+<trkpt lat="50.860966919" lon="12.427362688">
+  <ele>231.334351</ele>
+  <time>2005-05-01T13:38:50Z</time>
+</trkpt>
+<trkpt lat="50.860393848" lon="12.426870586">
+  <ele>229.892334</ele>
+  <time>2005-05-01T13:38:56Z</time>
+</trkpt>
+<trkpt lat="50.859940723" lon="12.426538831">
+  <ele>228.931152</ele>
+  <time>2005-05-01T13:39:02Z</time>
+</trkpt>
+<trkpt lat="50.859797895" lon="12.426483845">
+  <ele>228.450439</ele>
+  <time>2005-05-01T13:39:04Z</time>
+</trkpt>
+<trkpt lat="50.859486507" lon="12.426488288">
+  <ele>227.969727</ele>
+  <time>2005-05-01T13:39:08Z</time>
+</trkpt>
+<trkpt lat="50.859168749" lon="12.426579064">
+  <ele>226.047119</ele>
+  <time>2005-05-01T13:39:12Z</time>
+</trkpt>
+<trkpt lat="50.858790642" lon="12.426403714">
+  <ele>222.201782</ele>
+  <time>2005-05-01T13:39:17Z</time>
+</trkpt>
+<trkpt lat="50.858722581" lon="12.426190898">
+  <ele>221.240601</ele>
+  <time>2005-05-01T13:39:19Z</time>
+</trkpt>
+<trkpt lat="50.858527953" lon="12.425201247">
+  <ele>215.953247</ele>
+  <time>2005-05-01T13:39:28Z</time>
+</trkpt>
+<trkpt lat="50.858466513" lon="12.424848117">
+  <ele>214.030640</ele>
+  <time>2005-05-01T13:39:31Z</time>
+</trkpt>
+<trkpt lat="50.858306251" lon="12.424504291">
+  <ele>212.108032</ele>
+  <time>2005-05-01T13:39:35Z</time>
+</trkpt>
+<trkpt lat="50.858041048" lon="12.424474787">
+  <ele>212.588623</ele>
+  <time>2005-05-01T13:39:47Z</time>
+</trkpt>
+<trkpt lat="50.857944489" lon="12.424237328">
+  <ele>211.627441</ele>
+  <time>2005-05-01T13:39:52Z</time>
+</trkpt>
+<trkpt lat="50.857944489" lon="12.423773892">
+  <ele>207.782104</ele>
+  <time>2005-05-01T13:40:00Z</time>
+</trkpt>
+<trkpt lat="50.857987991" lon="12.423327221">
+  <ele>206.340088</ele>
+  <time>2005-05-01T13:40:04Z</time>
+</trkpt>
+<trkpt lat="50.858105253" lon="12.422576789">
+  <ele>204.417480</ele>
+  <time>2005-05-01T13:40:11Z</time>
+</trkpt>
+<trkpt lat="50.858223606" lon="12.421651594">
+  <ele>204.417480</ele>
+  <time>2005-05-01T13:40:20Z</time>
+</trkpt>
+<trkpt lat="50.858165603" lon="12.421063436">
+  <ele>204.417480</ele>
+  <time>2005-05-01T13:40:25Z</time>
+</trkpt>
+<trkpt lat="50.858042389" lon="12.420882471">
+  <ele>204.898071</ele>
+  <time>2005-05-01T13:40:27Z</time>
+</trkpt>
+<trkpt lat="50.857680039" lon="12.420416269">
+  <ele>205.859497</ele>
+  <time>2005-05-01T13:40:34Z</time>
+</trkpt>
+<trkpt lat="50.857651876" lon="12.420359943">
+  <ele>206.340088</ele>
+  <time>2005-05-01T13:40:35Z</time>
+</trkpt>
+<trkpt lat="50.857502930" lon="12.419924755">
+  <ele>207.301392</ele>
+  <time>2005-05-01T13:40:41Z</time>
+</trkpt>
+<trkpt lat="50.857472420" lon="12.419117410">
+  <ele>207.782104</ele>
+  <time>2005-05-01T13:40:50Z</time>
+</trkpt>
+<trkpt lat="50.857480215" lon="12.418595469">
+  <ele>206.820679</ele>
+  <time>2005-05-01T13:40:57Z</time>
+</trkpt>
+<trkpt lat="50.857487172" lon="12.418415425">
+  <ele>206.340088</ele>
+  <time>2005-05-01T13:41:02Z</time>
+</trkpt>
+<trkpt lat="50.857496308" lon="12.418177128">
+  <ele>205.378784</ele>
+  <time>2005-05-01T13:41:09Z</time>
+</trkpt>
+<trkpt lat="50.857506450" lon="12.417913936">
+  <ele>205.859497</ele>
+  <time>2005-05-01T13:41:22Z</time>
+</trkpt>
+<trkpt lat="50.857510809" lon="12.417800529">
+  <ele>207.782104</ele>
+  <time>2005-05-01T13:42:12Z</time>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+  <name>ACTIVE LOG 008</name>
+<trkseg>
+<trkpt lat="50.857706191" lon="12.417912260">
+  <ele>203.936890</ele>
+  <time>2005-05-01T13:46:49Z</time>
+</trkpt>
+<trkpt lat="50.857710885" lon="12.417962383">
+  <ele>203.936890</ele>
+  <time>2005-05-01T13:47:08Z</time>
+</trkpt>
+<trkpt lat="50.857706945" lon="12.417969760">
+  <ele>209.224121</ele>
+  <time>2005-05-01T13:48:02Z</time>
+</trkpt>
+<trkpt lat="50.857790764" lon="12.417925084">
+  <ele>221.721191</ele>
+  <time>2005-05-01T14:08:06Z</time>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+  <name>ACTIVE LOG 009</name>
+<trkseg>
+<trkpt lat="50.857721278" lon="12.417854005">
+  <ele>218.837280</ele>
+  <time>2005-05-01T14:19:32Z</time>
+</trkpt>
+<trkpt lat="50.857781461" lon="12.417967999">
+  <ele>198.649536</ele>
+  <time>2005-05-01T14:34:27Z</time>
+</trkpt>
+<trkpt lat="50.857699905" lon="12.417843444">
+  <ele>217.395386</ele>
+  <time>2005-05-01T14:52:06Z</time>
+</trkpt>
+<trkpt lat="50.857767127" lon="12.417909158">
+  <ele>209.704834</ele>
+  <time>2005-05-01T14:53:36Z</time>
+</trkpt>
+<trkpt lat="50.857776180" lon="12.417941680">
+  <ele>208.262817</ele>
+  <time>2005-05-01T14:53:47Z</time>
+</trkpt>
+<trkpt lat="50.857782550" lon="12.417960959">
+  <ele>208.262817</ele>
+  <time>2005-05-01T14:54:00Z</time>
+</trkpt>
+</trkseg>
+</trk>
+</gpx>
diff --git a/vecs.c b/vecs.c
index 108ae64c5b9dc45b3585f5e516e178b4bb76fc01..828caeae1afc757de4c9e5fb55de530be38364f1 100644 (file)
--- a/vecs.c
+++ b/vecs.c
@@ -151,6 +151,7 @@ extern ff_vecs_t ggv_ovl_vecs;
 extern ff_vecs_t jtr_vecs;
 #endif
 extern ff_vecs_t sbp_vecs;
+extern ff_vecs_t mmo_vecs;
 
 static
 vecs_t vec_list[] = {
@@ -862,6 +863,12 @@ vecs_t vec_list[] = {
                 "NaviGPS GT-31/BGT-31 datalogger (.sbp)",
                 "sbp"
         },
+        {
+                &mmo_vecs,
+                "mmo",
+                "Memory-Map overlay files (.mmo)",
+                "mmo"
+        },
         
 
 #endif // MAXIMAL_ENABLED